웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
많은것을 파일하나로 처리하잣!!
2002.03.05 20:41
다들 아실거 같은데 올리려나 참 쑥쓰럽네여..ㅠ_ㅠ
그래도 모하나 올리고 싶은마음에^^;;
그럼 허섭 tip알려드릴께요^^;;
시작~
보통 폼에서 어떤 자료를 입력받는 html파일과 그 입력받은 자료를
처리하는 php파일을 따로 만들어서 처리하게 되는데요
간단하게 if문을 통해서 파일하나에서 해결할수 있답니다..아주아주
간단한 예문을 들어드리겠습니다.
ex1)html과 php가 분할된 파일
test.html
<html>
<body bgcolor=white>
<form action=test.php>
<input type=text name=id size=20><br>
<input type=password name=passwd size=6 maxlength=6>
<input type=submit value="전송">
</form>
</body>
</html>
test.php
<?
$userid = "test";
$userpass = "1234";
if($userid == $id){
if($userpass == $passwd){
echo "인증성공!! 아이디와 패스워드가 일치하지 않습니다..";
}
elseif($userpass != $passwd){
echo "인증실패!! 패스워드가 일치하지 않습니다..";
}
elseif($userid != $id){
echo "존재하지 않는 아이디 입니다..";
}
?>
위에 프로그램은 이미 입력되있는 userid 와 userpass 값을
사용자가 입력한 id 와 passwd 값을 비교하여 인증성공 여부를 알려주는
간단한 프로그램입니다.. 이 프로그램을 파일하나로 함치면 아래와 같습니다.
이건 저에 노하우 이기때문에 상당히 허접할수도 있고 아닐수도 있습니다..
욕만하지 말아주세요..ㅠ_ㅠ
test.php
<?
if(!$mode){
echo "<html>
<body bgcolor=white>
<form action=$PHP_SELF>
<input type=hidden name=mode value=ok>
<input type=text name=id size=20><br>
<input type=password name=passwd size=6 maxlength=6>
<input type=submit value='전송'>
</form>
</body>
</html>";
}
elseif($mode == ok){
$userid = "test";
$userpass = "1234";
if($userid == $id){
if($userpass == $passwd){
echo "인증성공!! 아이디와 패스워드가 일치하지 않습니다..";
}
elseif($userpass != $passwd){
echo "인증실패!! 패스워드가 일치하지 않습니다..";
}
elseif($userid != $id){
echo "존재하지 않는 아이디 입니다..";
}
}
위에 합쳐진 프로그램의 알고리즘(?)은 $mode 변수로 현재 이 프로그램이
해야 할일을 알아챈다는것입니다...
만약 $mode 값이 존재하지 않으면
당연히 입력창을 내보내야겠죠?? 그래서
if(!$mode) {
를 통해서 입력창을 내보냅니다 그러고서
먼저 유심히 봐야할점은
<form action=$PHP_SELF>
입니다 $PHP_SELF 란 현재 실행되고 있는 PHP프로그램의 상대경로
가 들어가게 됩니다 때문에 폼엑션을 현재의 파일로 하라는 말이되죠~
다음으로 주목해야 할점은
<input type=hidden name=mode value=ok>
입니다.. type=hidden으로 두면 화면에서는 보이지 않지만 mode 라는 이름으
로 ok란 값을 가진 변수가 생성됩니다.
그래서 전송이란 버튼을 누르게 되면 이 프로그램은 자신을 다시 RELOAD 하
게 됩니다 그러면서 처음에
if(!$mode){
가 있으므로 mode변수의 존재를 검사합니다 이미 우리는 이전에 mode값이
ok로 전송하였으므로 mode값은 존재하게 됩니다 때문에 {} 사이의 명령어를
무시하고 다음 elseif로 넘어가게 됩니다. 다음 elseif에서 mode 값이 ok
라면..{} 사이를 실행하라는 명령어가 보입니다..그러면 당연히 {} 사이의
명령어를 실행하게 됩니다..그래서 1번 예제의 test.php의 역활을 하게 됩니다
정말 쉬운 내용을 엄청 길게 설명했네여^^;;
초보분들에게 도움이 됬음 좋겠네여^^;;
다음에 또 올릴게요^^
참고로 이것을 응용하면 자신의 홈페이지에 존재하는 많은 페이지를 위의
같은 경우로 mode값만 변경해가면서 이동할수 있습니다....또 아주 많은
곳에서 활용이 가능하므로 아직 몰르셨다면 익혀두시기 바랍니다..^^
그래도 모하나 올리고 싶은마음에^^;;
그럼 허섭 tip알려드릴께요^^;;
시작~
보통 폼에서 어떤 자료를 입력받는 html파일과 그 입력받은 자료를
처리하는 php파일을 따로 만들어서 처리하게 되는데요
간단하게 if문을 통해서 파일하나에서 해결할수 있답니다..아주아주
간단한 예문을 들어드리겠습니다.
ex1)html과 php가 분할된 파일
test.html
<html>
<body bgcolor=white>
<form action=test.php>
<input type=text name=id size=20><br>
<input type=password name=passwd size=6 maxlength=6>
<input type=submit value="전송">
</form>
</body>
</html>
test.php
<?
$userid = "test";
$userpass = "1234";
if($userid == $id){
if($userpass == $passwd){
echo "인증성공!! 아이디와 패스워드가 일치하지 않습니다..";
}
elseif($userpass != $passwd){
echo "인증실패!! 패스워드가 일치하지 않습니다..";
}
elseif($userid != $id){
echo "존재하지 않는 아이디 입니다..";
}
?>
위에 프로그램은 이미 입력되있는 userid 와 userpass 값을
사용자가 입력한 id 와 passwd 값을 비교하여 인증성공 여부를 알려주는
간단한 프로그램입니다.. 이 프로그램을 파일하나로 함치면 아래와 같습니다.
이건 저에 노하우 이기때문에 상당히 허접할수도 있고 아닐수도 있습니다..
욕만하지 말아주세요..ㅠ_ㅠ
test.php
<?
if(!$mode){
echo "<html>
<body bgcolor=white>
<form action=$PHP_SELF>
<input type=hidden name=mode value=ok>
<input type=text name=id size=20><br>
<input type=password name=passwd size=6 maxlength=6>
<input type=submit value='전송'>
</form>
</body>
</html>";
}
elseif($mode == ok){
$userid = "test";
$userpass = "1234";
if($userid == $id){
if($userpass == $passwd){
echo "인증성공!! 아이디와 패스워드가 일치하지 않습니다..";
}
elseif($userpass != $passwd){
echo "인증실패!! 패스워드가 일치하지 않습니다..";
}
elseif($userid != $id){
echo "존재하지 않는 아이디 입니다..";
}
}
위에 합쳐진 프로그램의 알고리즘(?)은 $mode 변수로 현재 이 프로그램이
해야 할일을 알아챈다는것입니다...
만약 $mode 값이 존재하지 않으면
당연히 입력창을 내보내야겠죠?? 그래서
if(!$mode) {
를 통해서 입력창을 내보냅니다 그러고서
먼저 유심히 봐야할점은
<form action=$PHP_SELF>
입니다 $PHP_SELF 란 현재 실행되고 있는 PHP프로그램의 상대경로
가 들어가게 됩니다 때문에 폼엑션을 현재의 파일로 하라는 말이되죠~
다음으로 주목해야 할점은
<input type=hidden name=mode value=ok>
입니다.. type=hidden으로 두면 화면에서는 보이지 않지만 mode 라는 이름으
로 ok란 값을 가진 변수가 생성됩니다.
그래서 전송이란 버튼을 누르게 되면 이 프로그램은 자신을 다시 RELOAD 하
게 됩니다 그러면서 처음에
if(!$mode){
가 있으므로 mode변수의 존재를 검사합니다 이미 우리는 이전에 mode값이
ok로 전송하였으므로 mode값은 존재하게 됩니다 때문에 {} 사이의 명령어를
무시하고 다음 elseif로 넘어가게 됩니다. 다음 elseif에서 mode 값이 ok
라면..{} 사이를 실행하라는 명령어가 보입니다..그러면 당연히 {} 사이의
명령어를 실행하게 됩니다..그래서 1번 예제의 test.php의 역활을 하게 됩니다
정말 쉬운 내용을 엄청 길게 설명했네여^^;;
초보분들에게 도움이 됬음 좋겠네여^^;;
다음에 또 올릴게요^^
참고로 이것을 응용하면 자신의 홈페이지에 존재하는 많은 페이지를 위의
같은 경우로 mode값만 변경해가면서 이동할수 있습니다....또 아주 많은
곳에서 활용이 가능하므로 아직 몰르셨다면 익혀두시기 바랍니다..^^
댓글 5
-
[폐]허접-_-
2002.03.05 21:49
-
탐그루
2002.03.06 18:45
일반적으로 많이 쓰는 방법으로 알고 있습니다. 저 역시 if 대신 switch문을 이용해서 님과 같은 방식으로 사용하고 있습니다. -
Kesarr
2002.03.07 00:40
흠.. form 태그에서 action 의 기본값이 $PHP_SELF 와 동일합니다.-_-;;
그러니 그냥 <form> 이라고 해도 되는것이죠.^^;;
그리고 저라면 위와 같은 경우에서 $mode 란 변수를 따로 안 만들고 그냥 $id 와 $password 로만 체크할 것 같습니다.
<?
if($id&&$password) {
PHP 스크립트
exit;
}
?>
HTML 문서 -
Zeldign
2002.03.07 06:25
위의 의견에 대한 사항중 exit는 굳이 필요하지 않을꺼 같네요.
아래 스크립트도 없는데 괜한 exit문을 쓰는거 같은데여. -
실버
2002.03.07 17:12
Kesarr님께서 오해가 있으신거 가타서..
제가 이 웹강좌를 쓴이유는 단지 아이디와 패스워드를 채크하는 프로그램을 설명하기 위한것이 아니라
초보들한테 여러가지의 처리를 파일하나로 해결할때 이러한 방법도 있으니 알어두셨으면 해서 남긴것입니다~
제목 | 글쓴이 | 날짜 |
---|---|---|
[추천 팁] [씽크식 PHP] PHP에대해 아무 지식이 없는 사람이 오해하는것. [3] | [ζ]씽크 | 2002.03.23 |
[추천 팁] setcookie()사용시 header어쩌구 하는 에러날때.... [1] | 하얀바다 | 2002.03.19 |
[추천 팁] 방문자의 os와 browser체크 함수.... [3] | navyism | 2002.03.18 |
echo 문 대신... [5] | TryZ | 2002.03.17 |
[씽크식 PHP] 초심자들이 많이 겪는 실수.. [7] | [ζ]씽크 | 2002.03.16 |
TheMics의 예제와 함께하는 PHP기초(上) [1] | TheMics | 2002.03.14 |
include를 이용한 다음넷 홈페이지 꾸미기2(그림 첨부) [4] | ZipShin | 2002.03.12 |
include를 이용한 다음넷 홈페이지 꾸미기1 [10] | ZipShin | 2002.03.12 |
[추천 팁] index key 값을 갖는array에서 value에 의한 key값 반환 [1] | 차카게살자 | 2002.03.11 |
가변적 변수 할당하는 방법 (t1=1; t2=2; t=t.rand(1,2);) [1] | 차카게살자 | 2002.03.11 |
유용한 함수 - array_reverse | 리들 | 2002.03.10 |
php를 리눅스쉘상 에서도 사용하자? [5] | 실버 | 2002.03.10 |
반복문을 한번만 사용한 구구단 [2] | 페리스 | 2002.03.10 |
요일을 한글로 표시 [5] | 페리스 | 2002.03.10 |
2번째~~!! DATE값 받아놓기 &상대방 아이피 알아내기~ [7] | 실버 | 2002.03.07 |
많은것을 파일하나로 처리하잣!! [5] | 실버 | 2002.03.05 |
[Yuki-H.] 이미지 크기가 일정 픽셀 이상이면 축소하여... [8] | Yuki-H. | 2002.03.04 |
[OsE=] IF 대신... [6] | OsE= | 2002.03.02 |
[OsE=] 최단 거리... [6] | OsE= | 2002.03.02 |
[OsE=] 기초적인 정규표현식 [3] | OsE= | 2002.03.02 |
초보 플밍가들에겐 좋은 팁 같다는^-^)b