본문 바로가기
코딩 정보/web

php란? php로 간단한 로그인 페이지 만들기

by 꽁이꽁설꽁돌 2024. 4. 9.
728x90
반응형

목차

     

    나는 웹프로그래밍을 공부하면서 php를 만나게 되어 이번 기회에 php에 대해 정리하고자 한다.

     

    php의 정의

    대표적인 서버 사이드 스크립트 언어이다. 그렇다면 스크립트 언어는 무엇이고 서버 사이드는 무슨 말일까?

    스크립트 언어는 기존에 이미 존재하는 소프트웨어 언어를 제어하기 위한 언어로 자바스크립트, php등이 있다

    그렇다면 자바스크립트와는 무슨 차이일까?  바로 '서버 사이드' 이다. 웹사이트 서버나 데이터베이스에서

    컨텐츠를 요청하고, 웹사이트의 이용자가 콘텐츠를 직접 접속해서 볼 수 있게 만든다.

     

     

    php의 활용

    • 페이지와 파일의 동적의 생성
    • 웹사이트의 사용자들에게 이메일 전송
    • 웹사이트의 방문자를 추적하기 위해 쿠키를 주고받는 작업
    • 웹페이지의 여러 가지 양식에서 데이터 수집

     

     

     

    • php로 간단한 로그인 페이지 만들기

    login.php

    로그인 페이지

     

    <?php
    session_unset();  //세션에 등록되어 있는모든 변수의 값 삭제
    ?>
    <!DOCTYPE html>
    <html lang='en'>
        <head>
            <meta charset="UTF-8">
        </head>
        <body>
            <form  action="movie.php" method="post">  
                <!-- action: 폼 데이터(form data)를 서버로 보낼 때 해당 데이터가 도착할 URL을 명시합니다. -->
                <p>
                    Enter your username:
                    <input type="text" name="user">
                </p>
                <p>
                    Enter your password:
                    <input type="password" name="pass">
                </p>
                <p>
                    <input type="submit" name="submit" value="Submit">
                </p>
            </form>
        </body>
    
    </html>

     

    movie.php

    로그인 성공 후 링크 페이지

    <?php
      session_start();//세션 시작
      $_SESSION['username'] = $_POST['user'];//세션 변수 등록 post 방식 이용
      $_SESSION['userpass'] = $_POST['pass']; //post방식은 get방식과 달리 url흔적이 남지 않는다.
      $_SESSION['authuser'] = 0;
      if(($_SESSION['username'] == 'huaksu') and($_SESSION['userpass'] == '10041004') )
      {
        $_SESSION['authuser'] = 1;  //로그인 성공
      }
      else{
        echo 'acess denied!';  //로그인 실패
        exit();
      }
      ?>
    
    
    <!DOCTYPE html>
    <html lang='en'>
        <head>
            <meta charset="UTF-8" >
            <meta name="viewport" content="width=device-width, initial-scale=1.0" />
            <title>FIND my FAvorite Movie!</title>
        </head>
        <body>
            <?php
            $myfavmovie = urlencode('Cat of Cat'); // urlencode 링크 url을 이용하여 데이터 전송
            echo "<a href=\"moviesite.php?favmovie=$myfavmovie\">";
            echo 'Click here to see information about my favorite movie!';
            echo '</a>';
            ?>
    
        </body>
    </html>

    moviesite.php

    링크로 성공적으로 이동한 페이지

    <?php
      session_start();
      if($_SESSION['authuser'] !=1){   //접근 불가
        echo 'sorry you don\'t have permission to acess';
        exit();
      }
    ?>
    
    <!DOCTYPE html>
    <html lang="en"> 
      <head>
        <title>My Movie SIte - <?php echo $_GET['favmovie'];?></title>
        <meta charset="utf-8">
      </head>
      <body>
        <?php
        echo 'welcome to our site ';
        echo $_SESSION['username'];  //세션 값을 사용
        echo '! <br/>';
        echo 'MY fovorite movie is ';
        echo $_GET['favmovie'];  //get으로 값 전달받음
        echo '<br/>';
        $movierate = 5;  //이렇게 변수를 만들어 사용
        echo 'My movie rating for this movie is: ';
        echo $movierate;
        ?>
      </body>
    </html>

     

    로그인 실패할 경우 페이지

     

     

    참고

    https://www.elancer.co.kr/blog/view?seq=162

     

    PHP란?, 기업에서 PHP를 활용하는 이유 I 이랜서 블로그

    개발된 지 오래됐음에도 웹사이트를 제작할 때 많이 사용되는 언어 PHP에는 어떤 원리와 특징이 있는지 대한민국 대표 IT 프리랜서 플랫폼 이랜서와 함께 확인해 보겠습니다!

    www.elancer.co.kr

    반응형