월루를 꿈꾸는 대학생

PHP 기초 - get , post 본문

Programing/PHP

PHP 기초 - get , post

하즈시 2022. 2. 14. 10:05
728x90

전송방식 GET . POST 

- 사용자 입력을 받아 데이터베이스에 전송 

- 가장 기초적으로 사용할 수 있는 것이 form을 사용해서 사용자의 입력을 받음 

- 사용자 입력을 받은 FORM 태그 안의 내용들이 ACTION에 있는 경로로 보내짐 이떄 보내는 방식 METHOD에 따라 달라짐 

- label과 input을 id로 연결시켜줌 연결시켜줘야 input으로 넣을 때 label이 반응 

- 데이터 베이스에서 사용자가 입력한 데이터가 들어갈 필드명이 필요 = name 태그 

request.php

- form 태그에서 method 방식으로 넘긴 데이터를 받음 

- 최상위 슈퍼 글로벌 배열 GET 혹은 POST에서 호출 가능 

- MTHOD 에서 넘어온 어떤 데이터든 NAME에서 지정한 이름 넣어주면 값 출력 가능 

 

 

 


<?php
    $title='login';
    include_once('inc/header.php');

?>

<form action="./request.php" method="post">
    <p>
        <label for="userName">Name</label>

    <!--label과 input을 id로 연결시켜줌 -->
    <!--데이터베이스에서 사용자가 입력한 데이터가 들어갈 필드명이 필요 name-->
        <input type="text" id="userName" name="username">
    </p>

     <p>
        <label for="userEmail">Email</label>

   
        <input type="email" id="userEmail" name="useremail">
    </p>

    <p><input type="submit" value="로그인"></p>


</form>

<?php
    include('inc/footer.php');

?>

 

<?php
    $title='request';
    include_once('inc/header.php');

?>

<!--form에서 받은 데이터를 간단하게 출력하기 -->
<?php
    //최상위 슈퍼글로벌 배열 get 조회가능 
    //get으로 넘겨온 어떤 데이터든 
    //input의 name에 지정한 이름을 넣어준다 
    $name=$_POST['username'];
    $email=$_POST['useremail'];
    echo $name."님이 입력한 이메일은". $email."입니다.";
?>

<?php
    include('inc/footer.php');

?>

 


get 방식

http://localhost/php/request.php?username=kikai&useremail=kikai%40test.com

- ? 다음 사용자가 입력한 이름과 이메일이 그대로 노출됨

- 그대로 노출되는 방식 

- 보내는 데이터가 그대로 캐쉬에 저장 

- 주소 표시줄에 무한대로 내용을 넣을 수 없어서 문자열 길이에 제한이 있음 

- 민감한 비밀번호나 이메일이 그대로 노출되는 취약점이 있음 

 

http://localhost/php/request.php?username=kikai&useremail=kikai%40test.com

 

 

<?php
    $title='login';
    include_once('inc/header.php');

?>

<form action="./request.php" method="get">
    <p>
        <label for="userName">Name</label>
        <input type="text" id="userName" name="username">
    </p>

     <p>
        <label for="userEmail">Email</label>
        <input type="email" id="userEmail" name="useremail">
    </p>

    <p><input type="submit" value="로그인"></p>


</form>

<?php
    include('inc/footer.php');

?>

post방식

 

- method=post / $_POST[] 만 바꿔주면 OK

- 주소표시줄에 데이터가 노출되지 않음 

- 데이터를 별도로 첨부해서 전달 

- 브라우저 캐쉬및 히스토리에 남지 않음 

- 내부적으로 암호화해서 넘어가서 문자열 길이 제한도 없고 보안성이 좋다 

 

 

 

 

 

728x90

'Programing > PHP' 카테고리의 다른 글

PHP기초 - 쿠키 , 세션  (0) 2022.02.14
PHP 기초 - GET , 유효성 검사 , FILTER-INPUT  (0) 2022.02.14
PHP 기초 - include , require  (0) 2022.02.14
PHP 지역 변수 , 전역 변수, 정적 변수  (0) 2022.02.10
PHP 함수  (0) 2022.02.10