strlen("문자열")
->문자열의 길이를 리턴


<?
$str="abcde";
$result= strlen ($str);
echo $result;
?>


<?
$result= strlen ("abcde");
echo $result;
?>


<?
echo strlen("abcd");
?>

<?
echo strlen("가");
?>


문자열뒤집기
->strrev("문자열")

strcmp("문자열1", "문자열2")
->문자열을 비교하여 같으면 0, 그렇지 않으면 0이 아닌값을 리턴
즉 앞>뒤 이면 양수값리턴
    앞<뒤 이면 음수값리턴
(여기서 크다함은 문자열의 길이가 아니라 숫자의 크기순이나,알파벳순 등이 적용됨)

<?
$str1="azcde";
$str2="abcde";

echo strcmp($str1, $str2);
?>
결과는
전자의 z가 후자의 b보다 알파벳순으로 크므로 양수1이 출력




대문자로 바꾸기
->strtoupper("문자열")

<?
$str1="azcde";

echo strtoupper($str1);
?>
결과는 AZCDE


소문자로바꾸기
->strtolower("문자열")



문자열공백제거
ltrim("문자열)->시작공백제거
chop("문자열)->끝공백제거
trim("문자열)->시작,끝 모든 공백제거


<?
$str1=" azcde ";

echo "$str1 <br>";
echo trim($str1);
?>


아스키2코드관련함수

chr(아스키2번호) ->아스키2번호에 해당하는 문자를 리턴
ord("문자) ->문자에 해당하는 아스키2번호를 리턴

<?
$str="a";

echo ord($str) ;

?>
결과는 97


<?
$str=97;

echo chr($str) ;

?>
결과는 a




특수문자에 \붙이기
addslashes ("문자열")->특수문자 앞에 \를 추가
stripslashes("문자열")->특수문자 앞의 \를 제거

<?
$str=" '\ ";
$str=addslashes($str);
echo $str ;

?>
결과는
\'\\


<?
$str=" '\ ";
$str=addslashes($str);
echo "$str <br>" ;
$str=stripslashes($str);
echo $str;

?>

특수문자를 붙였다가 다시 떼는 예제
결과는
\'\\
'\

\n 을 <br>로 변환
-> nl2br("문자열")

<?
echo "
<form method=post action=$PHP_SELF>
<textarea name=memo cols=30 rows=5></textarea>
<input type=submit value=확인>
</form>";
echo $memo;

?>

결과는 줄바꿈이 적용이 안된결과

위예제를 개선하기 위하여
<?
echo "
<form method=post action=$PHP_SELF>
<textarea name=memo cols=30 rows=5></textarea>
<input type=submit value=확인>
</form>";
echo nl2br($memo);

?>
결과는 줄바꿈이 제대로 적용되어 나온다


문자열의 모든 태그를 제거
->strip_tags("문자열")


 <?
echo "
<form method=post action=$PHP_SELF>
<textarea name=memo cols=30 rows=5></textarea>
<input type=submit value=확인>
</form>";
echo strip_tags($memo);

?>


문자열의 태그를 그대로 출력
->htmlspecialchars ("문자열")
->태그를 그대로출력되도록 변환

 태그관련문자 변환되는문자 
 & &amp; 
 " &quot; 
 < &lt; 
 > &gt; 


<?
echo "
<form method=post action=$PHP_SELF>
<textarea name=memo cols=30 rows=5></textarea>
<input type=submit value=확인>
</form>";
echo htmlspecialchars($memo);

?>

헤더 header
<?
echo "페이지이동예제";
header("location: http://taeker.com");
?>

헤더를 사용하면 원하는 곳으로 이동시켜 줄 수 있다
하지만 위의 예제는 출력문이 헤더보다 먼저 왔기에 에러가 난다
즉 헤더보다 어떠한 것을 먼저 출력했다면 에러가 난다
html에서 <body>보다는 <head>가 꼭 먼저 와야 하는 것과 같은 이치이다

이 방법은 함수호출전에 다른 내용을 웹 브라우저에 출력할 수가 없으므로, 조금은 불편한 방법이 될 수도 있다.



로케이션 location
<script language="javascript">
location.href="http://taeker.com";
</script>


다른 프레임에 띄어주고 싶다면
<script language="javascript">
parent.프레임이름.location.href="http://taeker.com";
</script>


새창에 띄어주고 싶다면
<script language="javascript">
window.open("http://taeker.com");
</script>


메타태그 meta
meta태그는 html의 헤더정보를 설정하기 위해 사용되는 태그로 일반적으로 head사이에 사용되지만
페이지의 이동을 위해서 어느곳에나 사용될 수 있다.

3초후 이동합니다
<meta http-equiv="refresh" content="3; url=http://taeker.com">


<table width="200" border="1">
<tr>
<td>첫번째셀</td>
</tr>

<tr>
<td>두번째셀</td>
</tr>
</table>



<table width="200" border="1" cellpadding="5">
<tr>
<td>첫번째셀</td>
</tr>

<tr>
<td>두번째셀</td>
</tr>
</table>




<table width="200" border="1" >
<tr>
<td>첫번째셀</td>
</tr>

<tr>
<td style="padding:5">두번째셀</td>
</tr>
</table>
두번째셀에만 패딩효과주기




한글일때는 width정해진대로 자동 줄바꿈이 되지만
영어나 숫자를 치면 셀이 늘어나는 결과가 나오는데
->강제로 줄바꿈을 방지해주는 방법은?
<table width="200" border="1" >
<tr>
<td style="word-break:break-all">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</td>
</tr>

<tr>
<td>두번째셀</td>
</tr>
</table>


width대로 자동줄바꿈이 되기를 원치않고
글자수대로 한줄에 표현되기를 원할때
<table width="200" border="1" >
<tr>
<td nowrap>첫번째 내용을 길게 입력하면줄이 바뀌지 않는다</td>
</tr>

<tr>
<td>두번째셀</td>
</tr>
</table>


select태그
펼침목록메뉴만들기
->선택항목이 많을때


<center>
사용하는 장비선택
<form method="post" action="result.php">
<select name="network">
<option value="modem">모뎀</option>
<option value="adsl">ADSL</option>
<option value="cable">케이블</option>
</select>
<input type="submit" value="확인">
<input type="reset" value="다시쓰기">
</form>
</center>



result.php
<?
echo "당신의 장비는 $network 입니다";
?>



textarea
->글상자만들기

예>
<center>
내용을적어
<form method="post" action="result.php">
<textarea name="memo" cols="40" rows="4">여기에</textarea>

<input type="submit" value="확인">
<input type="reset" value="다시쓰기">
</form>
</center>



result.php
<?
echo $memo;
?>


 

join.php

<center>
회원가입폼만들기
<form method="post" action="result.php">
아이디: <input type="text" name="id" size="20" maxlength="10" ><br>
암호: <input type="password" name="pass" size="15" maxlength="15"><br>
메일수신: <input type="checkbox" name="mailing" value="1"><br>
성별: <input type="radio" name="gender" value="남자" checked>남자
<input type="radio" name="gender" value="여자" >여자 <br>
<input type="hidden"  name="group" value="테스트">
<input type="submit" value="로그인">
<input type="reset" value="다시쓰기">
</form>
</center>



result.php

<?
echo "회원가입결과<br>
<br>
아이디 : $id <br>
암호 : $pass<br>
메일수신 : $mailing <br>
성별: $gender<br>
그룹: $group <br>
<br>
회원가입을 해주셔서 감사합니다.
";

?>


 

폼태그안에 다른 폼태그를 쓸수 없다.

기본형식
<form name="이름" method="전송방식" target="타겟" action="전송될문서" enctype="데이터타입" autocomplete="자동완성사용여부">



 속성 설명  기본값  설정값 
 name 이름   x  사용자정의
 method  전송방식  get  get, post
 target  전송될페이지가 보여질 타겟  _self  사용자
 action  입력된 정보가 전송될 문서  현재문서  사용자
 entype  입력된 정보를 전송할 데이터타입  application/x-www-form-urlencoded  application/x-www-form-urlencoded
텍스트전송

multipart/form-data
파일업로드

예>
<form name="test" method="post" target="_self" action="form.php enctype="application/x-www-form-urlencoded">
</form>

위를 더 간단히 하면 기본값을 생략하면 된다 즉...
<form method="post" action="form.php"></form>

<input>태그
-입력을 받기위한 폼으로 type에서 지정된 값을 받음

1.text
<form>
<input type="text" name="이름" size="크기" maxlength="최대길이" value="기본값" readonly>
여기서 value는 텍스트박스에 기본적으로 들어갈 말을 쓰면됨

예>
<form method="post" action="form.php">
<input type="text" name="id" size="20" maxlentgh="10" value="폼테스트">
</form>

2.passworld
-암호를 입력받을때 * 로 표시받기위함

예>
<center>
로그인창만들기
<form method="post" action="form.php">
아이디: <input type="text" name="id" size="20" maxlentgh="10" ><br>
암호: <input type="password" name="pass" size="15" maxlength="15">
</form>
</center>


3.checkbox

<form method="post" action="form.php">
<input type="checkbox" name="mailing" value="join" checked> 메일링리스트에 가입
</form>

4.radio

<form method="post" action="form.php">
<input type="radio" name="gender" value="남자" checked>남자
<input type="radio" name="gender" value="여자" >여자


5.hidden
-사용자에게서 어떠한 값을 입력받지 않고, 임의로 값을 전달

<form>
<input type="hidden" name="" value="">
</form>



6.button
-버튼을 만들어 주는 것으로 보통 자바스크립트와 연계되어 사용

<input type="button" value="창닫기"  onclick="window.close()">
->창닫기 버튼을  클릭하면 예제창이 닫힐것임


7. submit
-전송버튼을 만드는것

<center>
로그인창만들기
<form method="post" action="form.php">
아이디: <input type="text" name="id" size="20" maxlentgh="10" ><br>
암호: <input type="password" name="pass" size="15" maxlength="15">
<input type="submit" value="로그인">
</form>
</center>



액션의 대상이 되는 form.php 소스
<?
echo "아이디 : $id";
echo "<br>";
echo "암호: $pass";
?>


8. image
-이미지를 이용하여 전송버튼 만들기

<center>
로그인창만들기
<form method="post" action="form.php">
아이디: <input type="text" name="id" size="20" maxlentgh="10" ><br>
암호: <input type="password" name="pass" size="15" maxlength="15">
<input type="image" src="login.gif">
</form>
</center>



9. reset
-다시되돌리기

<center>
로그인창만들기
<form method="post" action="form.php">
아이디: <input type="text" name="id" size="20" maxlentgh="10" ><br>
암호: <input type="password" name="pass" size="15" maxlength="15">
<input type="submit" value="로그인">
<input type="reset" value="다시쓰기">
</form>
</center>





함수에러메시지숨기기

@함수명(매개변수);


<?

function division($a,$b)
{
 
 echo $a/$b;
 
}

division(4,0);


?>
결과는
Warning: Division by zero in D:\root\index.php on line 6

0으로 나눌수 없기에...



<?

function division($a,$b)
{
 
 echo $a/$b;
 
}

@division(4,0);


?>
결과는
에러가 안나오고 아무화면도 안나옴...
@를 붙임으로써  에러를 숨겼기에...


@를 사용하면 에러를 숨길 수 있지만 함수가 제대로 실행되었는지 알 수 없으므로
사용하는 함수는
@함수 or die ("출력될 메시지");


<?

function division($a,$b)
{
 
 echo $a/$b;
 
}

@division(4,0) or die ("실패");


?>
결과는
실패




<?

function sum()
{
 $a=1;
 $a=$a+1;
 echo "$a <br>";
 
}

sum();
sum();
sum();


?>
결과는
2
2
2


<?

function sum()
{
 static $a=1;
 $a=$a+1;
 echo "$a <br>";
 
}

sum();
sum();
sum();


?>
결과는
2
3
4



함수속에서 스태틱변수를 선언하면, 그 함수에는 스태틱이라는 공간이 생성된다
첫번째함수 호출이 끝나더라도 그 값을 그대로 간직하고 잇으며
다시 호출될때 그 스태틱변수에 그 값을 그대로 알려준다.





<?

$x=2;

function test()
{
 $x=1;

 echo "지역변수 \$x= $x <br>";
}

test();

echo "전역변수 \$x=$x";

?>
결과는
지역변수 $x= 1
전역변수 $x=2



전역변수지정하기
->global 변수명;
global 과 함께 전역변수로 만들면 그 변수는 그 시점부터 전역변수로 사용되며, 이는 함수 속에서 선언되어야 한다.

<?

$c=1;

function sum($a, $b)
{
 global $c;
 $c=$a+$b;
 
}

sum(1,2);
echo $c;

?>

결과는 3

function 함수명 (매개변수1, 매개변수2)
{
함수내용;
}



예제
<?

//sum함수 정의
function sum($x,$y)
{
 $z=$x+$y;
 echo $z;
}

//sum이 정의된 함수인지 확인
$result= function_exists("sum");
echo $result;
?>
결과로 1출력됨


예제
<?

//sum함수 정의
function sum($x,$y)
{
 $z=$x+$y;
 echo $z;
}

//sum호출
sum(1,2);

?>
결과로 3출력됨



출력형함수
리턴형함수



<?

//sum함수 정의
function sum($x)
{
 $z=($x+100-10)*2;
 return $z;
}

//sum호출
$result= sum(10);
echo $result;


?>
결과로 200

호출할때
echo sum(10); 이라고 해도 됨

+ Recent posts