ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • PHP - 조건문
    PHP 2018. 2. 6. 04:33

    조건문이란?


    주어진 조건에 따라 기능을 다르게 작동하도록 하는 것이다.






    IF문


    if문은 뜻 그대로 가정문이다. 


    "만약에 ○○○ 이라면..."을 의미한다.



    문법 - 


    1
    2
    3
    4
    5
    6
    <?php 
    if(true)    ## if문자 뒤에 괄호"()"가 붙으며 그 괄호안의 결과 값은 true or false이다.
    {
        echo "result : true";    ## 괄호"()"의 결과값이 true가 된다면 중괄호로 묶인구간이 실행된다.
    }
    ?>
    cs


    결과를 실행해보면 화면에 result : true가 출력된다.




    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php 
    if(false)
    {
        echo 1;    
        echo 2;
        echo 3;
        echo 4;
    }
    echo 5;
    ?>
    cs


    결과를 출력해보면 화면에 5만 출력된다.


    if문이 false를 반환하기 때문에 중괄호에 있는 코드가 수행되지 않는 것이다.






    ELSE문


    else문은 if문과 함께 사용되는 문법이다.


    if문이 우선 수행되었을 때 if문에 false가 발생하면 else문이 수행된다.



    문법 - 


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php 
    if(false)
    {
        echo 1;    
        echo 2;
        echo 3;
        echo 4;
    }
    else
    {
        echo 5;
    }
    ?>
    cs


    결과를 실행해보면 화면에 5가 출력되는 것을 알 수 있다.





    ELSE IF문


    else if문은 if문 ~ else문 중간에만 들어가야하는 문법이다.



    문법 -


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    if (false)
    {
      echo 1;
    }
    else if (true)
    {
      echo 2;
    }
    else if (true)    ## 바로 위의 else if() false일 경우에만 해당 else if문이 수행된다.
    {
      echo 3;
    }
    else {
      echo 4;
    }
     ?>
     
    cs


    결과를 실행해보면 화면에 2가 출력되는 것을 알 수 있다.





    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    if (false)
    {
      echo 1;
    }
    else if (false)
    {
      echo 2;
    }
    else if (true)    ## 바로 위의 else if()문이 false일 경우에만 해당 else if문이 수행된다.
    {
      echo 3;
    }
    else {
      echo 4;
    }
     ?>
     
    cs


    결과를 실행해보면 화면에 3이 출력되는 것을 알 수 있다.









    활용


    지금까지 배운 조건문을 활용해보자.




    form이라는 이름의 HTML 파일을 만들고 아래의 폼을 작성하자.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <html>
    <head>
    </head>
    <body>
      <form method ="get" action = "engine.php">
          id : <input type = "text" name = "id" />
          <input type = "submit" />
      </form>
    </body>
    </html>
     
    cs




    engine이라는 이름의 php 파일을 만들고 아래의 코드를 작성하자.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    if ($_GET['id'=== 'rest')
    {
      echo "맞는 아이디 입니다.";
    }
    else
    {
      echo "잘못된 아이디 입니다.";
    }
     ?>
     
    cs




    여기까지 작성했다면 이제 form.html로 들어가 id를 작성해보자.








    id 입력란에 rest가 아닌 다른 데이터를 입력하고 제출을 눌러보자.






    그럼 코드에서 else문에 작성했던 내용이 수행된다.







    이번엔 rest를 입력하고 제출을 눌러보자.







    그럼 코드에서 if문에 작성했던 내용이 수행되는 것을 확인할 수 있다.







    조건문을 조금 더 활용해보자.



    form.html을 아래와 같이 수정한다.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <html>
    <head>
    </head>
    <body>
      <form method ="post" action = "engine.php">
          id : <input type = "text" name = "id" />
          password : <input type="password" name="password" />
          <input type = "submit" />
      </form>
    </body>
    </html>
     
    cs


    form의 메소드 방식이 POST로 변경되었고, password에 대한 입력 폼이 추가되었다.





    engine.php도 아래와 같이 수정한다.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    if ($_POST['id'=== 'rest')
    {
      if ($_POST['password'=== 'rest1234')
      {
        echo '로그인 되었습니다.';
      }
      else
      {
        echo '잘못된 패스워드입니다.';
      }
    }
    else
    {
      echo "잘못된 아이디 입니다.";
    }
     ?>
     
    cs


    if문에 조건이 $_GET에서 $_POST로 변경되었고


    그 안에 if~else 문이 추가되었다.





    여기까지 수정을 완료했다면 직접 실행해보자.







    rest가 아닌 아이디와 rest1234가 아닌 비밀번호를 작성해서 제출을 눌러보자.





    그럼 첫번째 if ($_POST['id'=== 'rest') 조건문에서 false가 발생하여 맨 끝에 작성한 else문이 수행이 된다.








    다음은 아이디는 rest로 작성하지만 패스워드는 rest1234가 아닌 데이터를 작성하고 제출을 눌러보자.






    그럼 첫번째 입력받은 데이터와 아이디를 비교하는 if문이 true로 수행되고, 그 안에 있는 패스워드를 비교하는 if ($_POST['password'=== 'rest1234') 조건문이 false가 발생하여 else문이 수행되게 된다.







    아이디와 비밀번호를 모두 rest / rest1234로 입력하여 제출버튼을 클릭하면 if ($_POST['password'=== 'rest1234') 해당 조건이 true가 되어 echo '로그인 되었습니다.'; 가 수행되게 된다.









    'PHP' 카테고리의 다른 글

    PHP - 반복문  (0) 2018.02.08
    PHP - boolean의 대체제 (PHP의 특성!)  (0) 2018.02.07
    PHP - 논리연산자  (0) 2018.02.06
    PHP - GET vs POST 방식의 차이점  (0) 2018.02.06
    PHP - submit  (0) 2018.02.06
Designed by Tistory.