폼( INPUT=기능 종류 )

Posted 2015. 4. 12. 14:55

INPUT 태그의 종류

: 각종 텍스트 값의 입력과 버튼 등등 폼을 이용한 사용자 입력의 대부분을 차지하는 INPUT태그는 타입을 설정하는 방법으로 여러가지 모양의 입력 폼을 만들 수 있다.

1. TEXT : 일반 텍스트 상자

2. PASSWORD : 비밀번호 입력 상자

3. FILE : 파일 선택 상자

4. CHECHBOX : 체크 상자

5. RADIO : 라이도 버튼

6. BUTTON : 버튼

7. SUBMIT : 쿼리 전송 버튼

8. RESET : 초기화 버튼

9. IMAGE:  이미지 버튼

10. HIDDEN : 숨겨진 필드

<TR>
    <TD>button</TD>    // 이름이고
    <TD><INPUT TYPE="BUTTON" NAME="button"></TD>    // 설정값
</TR>

해당 값 마다 기능이 나온다 ㅇ.ㅇ

 

'PHP' 카테고리의 다른 글

폼( <FORM> , </FORM>  (0) 2015.04.12
1-5. php 주석 처리  (0) 2015.04.05
1-4. php의 기본 작성 방식  (0) 2015.04.05
1-3. 간단한 예제로 시작(HTML방식 및 태그의 의미)  (0) 2015.04.05
인터프리터 방식과 컴파일 방식  (0) 2015.04.05

폼( <FORM> , </FORM>

Posted 2015. 4. 12. 13:54

폼 컨트롤은 폼태그 안에서만 적용 된다.

<FORM NAME="폼이름" ACTION="데이터를 보낼 주소" METHOD="전송방식">

여기에 HTML 및 기타 폼 요소들 !!

</FORM> 이렇게 사용 한다.

폼 속성은 name, action, method 외에도 enctype( 폼 데이터 인코딩타입 ), target( 폼 데이터 처리후 보여줄 프레임이나 창의 이름 )

method 방식에는 Get과 Post 방식이 있다.

Get은 URL로 전송 하는 방식이고 Post는 HTTP 바디(body)에 데이터를 실어서 보내는 방식이다.

만약 메소드방식이 Get이라면 인코딩은 효력이 없다. Post방식일때만 적용이 된다.

 

폼 이벤트 핸들러는 onsubmit( submit을 실행 하였을 때 이벤트 처리 ), onreset( reset을 실행 하였을 때 이벤트 처리 )

이벤트 핸들러는 특정 이벤트가 발생하면 이를 감지하고 처리하는 방식으로 기존의 이벤트방식과 동일하다. 근데 이 이벤트 핸들러들의 명령어는 모두 자바스크립트로 처리 된다.

Onsubmit의 경우  submit(쿼리전송) 버튼을 클릭하거나 자바스크립르를 이용하여 submit을 실행한 경우에 발생한다. 사용자가 쿼리전송 버튼을 클릭하는 경우 submit이벤트가 발생하여 먼저 OnSubmit핸들러에 지정된 명령어나 함수가 처리 된다.그 다음에 action에 지정된 주소로 폼 데이터를 전송 한다.

이 이벤트 핸들러는 사용자가 폼에 작성한 정보가 올바른지를 검사할때이다. 이 폼의 값이 유효한지, 예를 들어 웹싸이트에 회원가입 할 때 아이디의 글자수, 주민등록번호가 가 유효한지를 검사 하는 것.

Onreset의 경우 리셋버튼을 클릭하거나 자바스크립트를 이용하여 reset을 실행 한 경우 발생한다.

사용자의 입력에 의해서 설정된 값들을 초기화하기 위해 사용 한다.

 

아래 코드는 name과 userid를 입력받는 칸이 존재하고 제출(submit)하는 단순 기능의 코드이다.

<FORM METHOD="POST" ACTION="form.php">

<TABLE border=1>

<TR>

<TD>name</TD>   

<TD><INPUT="TEXT" NAME="name"></TD>

</TR>

<TR>

<TD colspan=2><INPUT TYPE="SUBMIT"></TD>

</TR>

</TABLE>

</FORM>

 

하나의 폼을 사용 하면 별 문제는 없지만 두개의 폼을 사용 하면 폼과 폼 사이 공백으로 벌어지게 된다.

테이블과 테이블 사이 폼 태그를 테이블 안으로 넣거나 스타일 시트를 사용하면 폼과 폼 사이 공백이 사라지게 된다.

<HTML>
<TITLE> 단순 HTML 문서</TITLE>
<TABLE border=1>
 <TR>
  <TD>이름과 아이디를 입력하세요</TD>
 </TR>
</TABLE>
<FORM METHOD="POST" ACTION="form.php" STYLE="display::inline">
<TABLE border=1>
 <TR>
  <TD>name</TD>
  <TD><INPUT TYPE="TEXT" NAME="name"></TD>
 </TR>
 <TR>
  <TD>userid</TD>
  <TD><INPUT TYPE="TEXT" NAME="userid"></TD>
 </TR>
 <TR>
  <TD colspan=2><INPUT TYPE="SUBMIT"></TD>
 </TR>
</TABLE>
</FORM>

 

'PHP' 카테고리의 다른 글

폼( INPUT=기능 종류 )  (0) 2015.04.12
1-5. php 주석 처리  (0) 2015.04.05
1-4. php의 기본 작성 방식  (0) 2015.04.05
1-3. 간단한 예제로 시작(HTML방식 및 태그의 의미)  (0) 2015.04.05
인터프리터 방식과 컴파일 방식  (0) 2015.04.05

함수~~

Posted 2015. 4. 5. 20:02

function sum( $a, $b )

{

return $a + $b;

}

 

$result = sum(1,2);

echo $result;

하면 1과 2를 더한 3이 출력됨.

 

스왚도

function swap( $a, $b )

{

$c = $a;

$a = $b;

$b = $c;

}

$num1 = 1;

$num2 = 2;

swap( $num1, $num2 )

echo "$num1, $num2"; 하면 1과 2가 스왚되서 나온다.

 

참조에 의한 인자 전달은 &$a, &$b 처럼 변수 앞에 &를 붙여 준다.

이경우 함수에 원본을 전달해주는 것과 같다.

그래서 함수 내부에서 변경 할 경우 값까지 같이 변경이 된다.

 

디폴트 인자값도 있다.

function abc( $a = 10 )

{

return "출력: $a";

}

echo abc();    // 기본 디폴트값 10이 출력되고

echo abc(3);    // 변경 된 3이 출력 된다.

C++와 동일하며 여러개 일때 디폴트값을 맨 뒤 인자값 부터 시작 해야 하는거도 동일함.

 

include와 require

Posted 2015. 4. 5. 19:52

둘다 파일을 가져와서 적용 시킨다는 내용은 동일하지만

파일이 없을경우 include는 경고를 출력하고

require는 에러를 출력한다.

include 'test.php';

 

아래처럼 사용 해도 된다.

$file = 'test.php';

include $file;

 

딱 봐도 뭐같네. 걍 include ' 파일이름 ' 으로 사용 하자.

 

head.html 파일을 만든 후

head.html이당<BR>을 쓰고

 

나의 index.html 파일 내부에서

<?php

 include 'head.html'; 하면 head.html 파일의 head.html이당이 출력 된다.

 

또는

head.html에서

<?php

$a = "12345";

?> 하고 난 뒤 다시 index 에서

include 'head.html'; 포함 후에

head.html의 변수를 콜 해도 출력이 된다.

<?php

include 'head.html';

echo $a; // 하면 12345가 출력 된다.

?>

 

반복문 내에서 사용 할 경우 계속 해서 불러 오겠지요.

한번만 불러오길 원하면 include_once, require_once 를 붙여주면 된다.

if, elseif, while, do-while, break, continue 다 똑같다!!!! for문도 마찬가지다!!!

 

if문은

$a = 1;

$b = 2;

if( $a == $b ) echo "같다";

else if( $a != $ $b ) echo "같지않아!";

else echo "이도저도 아니여";

 

while문~~

$a = 1;

while( $a <= 10 )

{

if( $a == 5 ) break;

echo $a;

 $a++;

}

 

for문~~

for( $a = 1 ; $a < 3 ; $a++ )

{

echo $a;

}

 

switch !! 이게 꽃인거 같은데

$a = 3;

switch( $a )

{

case 1:

어쩌구 저쩌구

breakl

case 2: .....

case 3:

echo "이거출력";

break;

}

기본 사용은 이렇다. break 않넣을경우 해당 case문 부터 다음 break 만날때까지 실행이 되 버리니 필요에 따라서 사용 하면 된다. default를 빠뜨려 버렸군. 걍 넘어간다.

 

$a = "으아아";

switch( $a )

{

 case "으아아": echo"소리쳐"; break; 처럼 문자열 그대로 case에 사용 가능.

근데 이게 속도가 어찌될런고..느리곘지뭐 문자열인데.

 

 

연산자( operator), 대입 연산자

Posted 2015. 4. 5. 19:21

php의 연산자 종료

 

1. 대입 연산자

똑같다. A = B ; 하면 A에다가 B를 대입한다.

<HTML>
 <TITLE> 단순 HTML 문서</TITLE>
<?php
 $a = 1;
 $b = $a;
 if( $a == $b )
  echo "같다";
 else
  echo "다르다";
?>

-> 같다가 출력된다잉

 

2. 산술 연산자

얘두 똑같다 +, -, * , %, / 쓰던데로 쓰면 된다.

<HTML>
 <TITLE> 단순 HTML 문서</TITLE>
<?php
 $a = 1;
 $b = $a;
 $c = $a + $b;
 echo $a + $b;
 echo "<BR>";
 echo $c;
?>

 

3. 증감 연산자

얘두 똑같다. ++a, a++, --a, a--, 선증감, 후증감.

먼저 증가 시키고 계산하고, 계산한 다음 증가시키고

<HTML>
 <TITLE> 단순 HTML 문서</TITLE>
<?php
 $a = 1;
 $b = 1;
 echo " \$a: " . $a++;
 echo " \$a: " . $a;

 echo " \$b: " . ++$b;
 echo " \$b: " . $b++;
 echo " \$b: " . $b;
?>

 

4. 비교 연산자

얘두 >, < 큰지 작은지, == 같은지, != 값이 다른지, <= 작거나 같은지. 이런건데 여기까진 동일함.

php에서는 이 외에도

$a <> $b : 값이 다르면 참( !=이거와 동일함 )

$A === $B : 값과 변수형이 같은지 비교

!== 값과 변수형이 다른게 맞는지 비교

 

5. 논리 연산자

기본적인 || 둘 중 하나에 대한 것은 동일 하다.

||와 동일한 내용이 $a or $b 라고 표현 할 수도 있다.

그리고 && 내용도 동일하다

$a and $b 둘 다 참일때 참이다

! 표현도 동일하다 : !$a -> a가 참이면 false를, 거짓이면 true를!!

$a xor $b : 둘 중 하나만 참이면 TRUE, 둘의 진리값이 같으면 FALSE

-> 이거 a는 값이 있고, b는 값이 없을때 false 나오고, 둘 다 값이 있으면 true 나온다.

 

6. 문자열 연산자

<HTML>
 <TITLE> 단순 HTML 문서</TITLE>
<?php
 $str1 = "abc";
 $str2 = "def";
 $str3 = $str1 . $str2;
 echo $str3;
?>

단순히 " . " 찍는 거 만으로 두 문자열은 합쳐 진다. echo 출력할때 $붙여줘야함. 안붙여서 계속에러낫네 젠장

 

7. 배열 연산자

<HTML>
 <TITLE> 단순 HTML 문서</TITLE>
<?php
 $a = array("a" => "1", "b" => "2");
 $b = array("a" => "1", "b" => "2", "c" => "3");
 $c = $a + $b;
?>

배열도 " + " 간단히 된다. 앞 배열 뒤에 다음 배열을 붙여 준다.

여기서 a는 "키값"이 되고 => 다음이 "value"가 된다. 마치 C++의 map 처럼.. 하지만

중복되는 값은 버려지고 다른 값만 붙여 지게 된다. 이 경우 C는 (a,1),(b,2),(c,3) 이 되며 C,3만 합쳐 지게 된다.

 

8. 비트 연산자

비트연산자도 동일하다.. 이건뭐 원리는 아니까 설명은 생략한다.

 

9. 실행 연산자 : 서버에 쉘 명령을 실행 할 수 있다. 실행 연산자는 백틱(esc키 아래 " ` " 요거다 )

이 연산자는 shell_exec() 함수를 사용 하는 것과 같다.

<?php

$output = `dir`;

echo "<pre>$output</pre>";

?>

실행하명 폴더 경로와 폴더 안의 내용물들이 출력 된다.

 

10. 에러 제어 연산자

" @ " 붙여 에러가 발생해도 넘어가게 한다.

<?php @include "a.php"; ?> 처럼 include할 a.php 파일이 없어도 에러 출력없이 넘어가게 한다.

 

.. 뭐 이렇게 많아

define()

Posted 2015. 4. 5. 18:27

<HTML>
 <TITLE> 단순 HTML 문서</TITLE>
<?php
 define("abc", "1234");
 echo abc;
?>

-> echo로 abc를 호출하면 1234가 출력이 된다.

 

php의 상수 표현은 define을 사용 한다.

이전의 C++의 define MAX 100 처럼 상수명과 상수에 저장될 값을 넣어 주면 된다.

Java의 상수는 변수 앞에다가 final 을 붙이면됨.

변수의 범위

Posted 2015. 4. 5. 18:23

<?php

$a = 10;     // 전역 변수

function abc()    // 함수를 만든다.

{

global $a;    // 전역 변수라는 것을 함수 내부에서 알린다. 이거 안해주면 $a가 내부 변수인줄알고 찾게되는데, 없으니까 에러가 되버린다.

echo $a;    // 전역변수 출력

}

abc();            // 함수를 콜 한다.

?>

함수 생성도 동일하게 function 함수이름( 파라미터){ 내용 } 으로 사용 하면 된다.

 

뭐, 함수 내부는 지역변수라 콜 이후에 사라지니까 계속 쓰고 싶으면 이전처럼 static을 붙이면 된다.

식별자, 변수, 진리값(boolean)

Posted 2015. 4. 5. 15:05

1. php는 문자와 밑줄로 시작한다.

2. 두번째 글자부터는 숫자, 문자, 밑줄이 가능 하다.

3. 밑줄 이외의 기호는 사용 할 수 없다.

4. 문자는 유니코드(한글포함)도 가능 하다.

5. 변수는 대소문자를 서로 구분 한다.

-> php 키워드나 함수에서 대소문자를 섞어도 같은 것으로 간주 한다 ex) Abc == aBc 같은것으로 간주.

php에서도 변수는 다른 언어와 동일한 뜻이며, 여러 가지 값을 저장할 수 있는 변할 수 있는 수이다.

 

식별자는 $ 뒤에 오는게 식별자임.

거따가 string 넣으면 string변수가 되고, 숫자 넣으면 정수형 변수가 된다.

 

변수 표기법은 $name 이런식으로 사용 한다. $ 를 붙인다.

변수에 담을 수 있는 것은 진리값(boolean), 정수, 부동소수점수, 문자열, 배열, 객체, 리소스, 널과 같이 8가지 이다.

그리고 사용 도 뭐 똑같다. 작은 값이면 작은거에 담아서 메모리 관리 최소화 시키고 그렇게 하는것이 좋다.

 

boolean 은 동일하다 true, false의 진리값이다.

0은 false, 1은 true 를 뜻하고, 실제로 메모리 사용은 1bit만 필요하지만 효율을 위해 1byte를 쓴다고한다.( 8bit == 1byte )

 

정수( integer )

$a = 1234 ; // a 변수를 만들고 1234의 정수를 담음.

$a = -123; // a 변수를 만들고 -123의 음수를 담음.

$a = 0123; // 8진수.

$a = 0x12; // 16진수

이렇게 사용 한다. 중요한건. php는 정수를 표기할떄 4byte를 사용 한다. ( 2의 32승 까지 표현가능 하다. 0 ~ 42억, -21억~21억 까지 표현 가능, 총 32개의 비트 중에서 첫번째를 부호로 쓰는거도 다른 언어와 똑같다 )

 

문자열( String )

뭐 이거도 동일하다 String안에 얼마든지 담을 수 있다. 다만 표시 법은

큰따옴표( " ) 와 작은따옴표( ' )로 히어닥문법과 나우닥문법이 있다.

히어닥 :

<HTML>
 <TITLE> 단순 HTML 문서</TITLE>
<?php
$here_str1=<<<HERE
123
HERE;
echo $here_str1;   
?>
</HTML> 이렇게 사용 하며, <<<다음에 문자열에 대한 식별자를 표시하고 종료될때 그 식별자를 다시 표시하는 방법.

 

나우닥은 php 5.3.0부터 나왔으며 작은 따움표 방식읻.

$str = <<<'EOT'

123"$name"머머머.

EOT; 이런식.

 

큰따옴표 : "나는큰따옴표" 처럼 " " 사이에 문자열은 쓰는 방식이다. " " 는 쌍으로 이루어져야 한다. 안그러면 에러남. "나는(")를 쓴 큰따옴표" 처럼 쓰면 "를 하나로 인식하여 에러발생.

큰따옴표 안에서는 \n 줄바꿈, \r 캐리지 리턴, \\ 역슬래시, \t 수평 탭, \" 따옴표, \$ 달러표시 가 가능 하다.

근데.. \n해두 한칸 띄우고 안되네.. <BR>넣으면 되는디 뭔지모르곘다.

<?php

$name = 123;

echo "출력: $name"

?> 하면 화면에 출력:123이 출력 된다. $name이라는 식별자를 출력 하고 싶으면 앞에 \를 붙이면 된다.

 

변수는 문자열 내에서 사용 할 시에 123$name456 해버리면 변수와 뒤에 문자열이 섞여 버리기 때문에

123{$name}456처럼 중괄호로 묶어서 안전하게 사용 한다.뒤에 한칸 띄워도 출력이 되긴 하지만 중괄호로 묶어서 쓰는게 표준이다.