PHP에서 다음 페이지로 변수를 전달하는 방법

  1. HTML 양식을 통한GETPOST 사용
  2. 세션쿠키사용

PHP 변수는 값과 동등한 기호 또는 이름입니다. 프로그램의 어느 부분에서나 사용할 수 있도록 값, 숫자, 문자 또는 메모리 주소와 같은 값을 저장하는 데 사용됩니다. 간단한 변수는 프로그램의 어느 부분에서나 사용할 수 있지만 HTML 형식, 세션 또는 쿠키를 통해GETPOST를 사용하여 전달되지 않는 한 외부에서 액세스 할 수 없습니다.

HTML 양식을 통한GETPOST 사용

HTML 양식은 PHP의 가장 강력한 기능 중 하나입니다. 모든 양식 요소는 양식의 ‘작업’대상에 자동으로 제공됩니다.

** POST 요청 **

<form action="nextPage.php" method="POST">
    <input type="text" name="email">
    <input type="text" name="username">
    <input type="submit" name="submit">
</form>

nextPage.php로 데이터 가져 오기

$username = isset($_POST['username']) ? $_POST['username'] : "";
$email       = isset($_POST['email']) ? $_POST['email'] : "";
echo "Username: ".$username;
echo "Email: ".$email;

** 스크립트의 샘플 출력은 다음과 같습니다. **

Username: johndoe
Email: johndoe@gmail.com

위의 예는 HTML 양식을 통해POST를 사용하여 변수를 전달하는 방법을 보여줍니다. form 요소는actionmethod 속성을 가져야합니다. action은 다음 페이지를 포함하는데,이 경우nextPage.php입니다. 방법은POST 또는GET 일 수 있습니다. 그런 다음$_POST 또는$_GET을 사용하여nextPage.php의 요소에 액세스 할 수 있습니다.

** GET 요청 **

<?php
$phpVariable = "Dog";
?>
<a href="nextPage.php?data=<?=$phpVariable?>">Bring me to nextPage</a>

이 예제는GET 변수를 만들고nextPage.php에서 접근 할 수 있습니다.

예:

echo $phpVariable = $_GET['phpVariable'];
//output: Dog

GET은$_GET을 사용하여 접근 할 수 있습니다

다른 방법은 HTML 양식에 숨겨진 요소를 추가하여 다음 페이지에 제출하는 것입니다.

예:

<form action="nextPage.php" method="POST">
    <input type="hidden" name="phpVariable" value="Dog">
    <input type="submit" name="submit">
</form>

nextPage.php

//Using POST
$phpVariable = $_POST['phpVariable'];
//Using GET
$phpVariable = $_GET['phpVariable'];
//Using GET, POST or COOKIE;
$phpVariable = $_REQUEST['phpVariable'];

GET 요청을 사용하기 위해 메소드를POST에서GET으로 변경할 수 있습니다. POSTGET은 봇 안전하지 않지만GET은 프론트 엔드를 통해 사용할 수 있기 때문에 해킹하기가 더 쉽습니다.

$_REQUESTGET,POST 또는COOKIE를 모두 수용 할 수 있습니다. 유효성 검사를 위해 자체 참조 양식에$_REQUEST를 사용하는 것이 좋습니다.

세션쿠키사용

‘세션’과 ‘쿠키’는 사용하기 쉽지만 ‘세션’은 쿠키보다 훨씬 안전하지만 완전히 안전하지는 않습니다.

세션

//page 1
$phpVariable = "Dog";
$_SESSION['animal'] = $phpVariable;

//page 2
$value = $_SESSION['animal'];

참고 :session을 사용할 때는$_SESSION 배열에 액세스하기 전에 항상 두 페이지 모두에session_start()를 추가해야합니다.

쿠키

//page 1
$phpVariable = "Dog";
$_COOKIE['animal'] = $phpVariable;

//page 2
$value = $_COOKIE['animal'];

‘쿠키’와 ‘세션’의 가장 분명한 차이점은 ‘세션’은 서버 측에 저장되고 ‘쿠키’는 클라이언트 측을 스토리지로 사용한다는 점입니다.

관련 문장 - PHP form