웹마스터 팁

다들 아실거 같은데 올리려나 참 쑥쓰럽네여..ㅠ_ㅠ

그래도 모하나 올리고 싶은마음에^^;;

그럼 허섭 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값만 변경해가면서 이동할수 있습니다....또 아주 많은

곳에서 활용이 가능하므로 아직 몰르셨다면 익혀두시기 바랍니다..^^