PHP 변수를 다음 페이지로 전달
꽤 간단해 보이지만 좋은 방법을 찾을 수가 없어요.
첫 번째 페이지에서 변수를 생성한다고 말합니다.
$myVariable = "Some text";
그리고 그 페이지에 대한 폼의 액션은 "Page2.php"입니다.그러면 Page2.php에서는 어떻게 하면 그 변수에 접근할 수 있을까요?세션으로 할 수 있다는 것은 알지만 단순한 문자열로는 무리라고 생각합니다.단순한 문자열(파일명)만 전달하면 됩니다.
어떻게 하면 좋을까요?
감사합니다!
HTML/HTTP는 스테이트리스입니다.즉, 이전 페이지에서 보았던 것은 현재 페이지와 전혀 연결되어 있지 않습니다.세션, 쿠키 또는 GET/POST 변수 등을 사용하는 경우는 제외합니다.세션과 쿠키는 매우 사용하기 쉽고, 쿠키보다 세션이 훨씬 안전합니다.더 안전하지만 완전히 안전하지는 않습니다.
세션:
//On page 1
$_SESSION['varname'] = $var_value;
//On page 2
$var_value = $_SESSION['varname'];
" " " " 를 합니다.session_start();
에 모두 액세스 , 액세스 해 주세요.$_SESSION
또한 출력이 브라우저로 전송되기 전에도 마찬가지입니다.
쿠키:
//One page 1
$_COOKIE['varname'] = $var_value;
//On page 2
$var_value = $_COOKIE['varname'];
세션과 쿠키의 큰 차이점은 세션 사용 시 변수 값이 서버에 저장되고 쿠키를 사용하는 경우 클라이언트에 저장된다는 것입니다.세션 간에 데이터를 유지하고 싶은 경우를 제외하고 세션 대신 쿠키를 사용해야 하는 정당한 이유가 생각나지 않지만, 그래도 데이터를 DB에 저장하고 사용자 이름 또는 ID에 따라 가져오는 것이 더 나을 수 있습니다.
취득 및 POST
다음 페이지에 링크 변수를 추가할 수 있습니다.
<a href="page2.php?varname=<?php echo $var_value ?>">Page2</a>
그러면 GET 변수가 생성됩니다.
다른 방법은 숨김 필드를 2페이지로 제출하는 양식에 포함시키는 것입니다.
<form method="get" action="page2.php">
<input type="hidden" name="varname" value="var_value">
<input type="submit">
</form>
그리고 두 번째 페이지에:
//Using GET
$var_value = $_GET['varname'];
//Using POST
$var_value = $_POST['varname'];
//Using GET, POST or COOKIE.
$var_value = $_REQUEST['varname'];
만 '형식'으로 .post
우편으로 하고 싶다면.둘 다 똑같이 안전하지 않지만 GET이 해킹하기 더 쉽습니다.
세션 데이터를 제외한 모든 새로운 요청은 PHP에서 처음 코딩을 시작했을 때 스크립트의 완전히 새로운 인스턴스라는 사실을 알게 되었습니다.익숙해지면 아주 간단합니다.
위의 답변 감사합니다.제가 한 방법은 이렇습니다. 저는 그것이 따르는 사람들에게 도움이 되기를 바랍니다.한 페이지에서 다른 페이지로 등록 번호를 전달하려고 합니다.그래서 regName과 regValue:
set_reg라고 하는 첫 페이지를 만듭니다.php:
<?php
session_start();
$_SESSION['regName'] = $regValue;
?>
<form method="get" action="get_reg.php">
<input type="text" name="regName" value="">
<input type="submit">
</form>
get_reg라고 하는 두 번째 페이지를 만듭니다.php:
<?php
session_start();
$regValue = $_GET['regName'];
echo "Your registration is: ".$regValue.".";
?>
<p><a href="set_reg.php">Back to set_reg.php</a>
위의 답변만큼 포괄적이지는 않지만, 내 목적상 이것은 다양한 요소 간의 관계를 단순하게 보여준다.
요청 내 데이터 전달
양식에 숨김 필드로 포함하거나 양식 작업 URL을 추가할 수 있습니다.
echo '<input type="hidden" name="myVariable" value="'.
htmlentities($myVariable).'">';
또는
echo '<form method="POST" action="Page2.php?myVariable='.
urlencode($myVariable).'">";
또한 이는 데이터를 전달할 때 htmlentity 및 urlencode를 사용하는 방법에 대해서도 설명합니다.
세션에서 데이터 전달
데이터를 클라이언트 측에 전달할 필요가 없는 경우 세션이 더 적절할 수 있습니다.각 페이지의 선두에 session_start()를 호출하기만 하면 데이터를 가져와 $_SESSION 배열로 설정할 수 있습니다.
보안.
값이 실제로 파일 이름임을 명시하기 때문에 보안에 미치는 영향에 유의해야 합니다.파일명이 클라이언트측에서 착신했을 경우는, 유저가 값을 조작하고 있는 것을 전제로 합니다.유효성을 확인해 주세요!사용자가 중요한 시스템 파일 또는 사용자가 제어하는 파일에 경로를 전달하면 어떻게 됩니까?스크립트를 사용하여 서버에 존재하는 파일 또는 존재하지 않는 파일을 "프로브"할 수 있습니까?
이제 막 시작했으므로 $_GET, $_POST 또는 $_COOKIE에 도착하는 모든 데이터에 해당한다는 점을 상기시켜 주십시오. 최악의 적이 이러한 어레이의 내용을 조작하고 그에 따라 코드를 작성했다고 가정해 보십시오.
php로 값을 전달하려면 세 가지 방법이 있습니다.
- 우편별
- by get
- 세션 변수 만들기
이 세 가지 방법은 다른 목적으로 사용됩니다.예를 들어 다음 페이지에서 값을 받고 싶다면 다음과 같이 'POST' ($_POST) 방식을 사용할 수 있습니다.
$a=$_POST['field-name'];
여러 페이지에 변수 값이 필요한 경우 세션 변수를 다음과 같이 사용할 수 있습니다.
$a=$_SESSION['field-name];
이 구문을 사용하여 SESSION 변수를 작성하기 전에 먼저 php 페이지의 맨 앞에 이 태그를 추가해야 합니다.
session_start();
GET 방식은 일반적으로 사용자로부터 입력을 받던 동일한 페이지에 데이터를 인쇄하기 위해 사용됩니다.구문은 다음과 같습니다.
$a=$_GET['field-name'];
Get 메서드를 사용하면 URL 바에 데이터를 표시할 수 있는 것보다 POST 메서드가 GET보다 일반적으로 더 안전합니다.데이터가 암호와 같이 더 중요한 데이터인 경우, 입력일 수 있습니다.
이 코드를 사용해 보세요.
숨겨진 필드를 사용하여 php varibale을 다른 페이지로 전달할 수 있습니다.
페이지1.1.124
<?php $myVariable = "Some text";?>
<form method="post" action="page2.php">
<input type="hidden" name="text" value="<?php echo $myVariable; ?>">
<button type="submit">Submit</button>
</form>
php 변수를 숨김 필드 값으로 전달하여 이 변수를 다른 페이지에 액세스할 수 있도록 합니다.
페이지2. 페이지2.
<?php
$text=$_POST['text'];
echo $text;
?>
세션만이 좋은 방법입니다.GET/POST 를 사용할 수도 있습니다만, 안전하지 않을 가능성이 있습니다.
**page 1**
<form action="exapmple.php?variable_name=$value" method="POST">
<button>
<input type="hidden" name="x">
</button>
</form>`
2 페이지
if(isset($_POST['x'])) {
$new_value=$_GET['variable_name'];
}
It works.
형식 없이 데이터 던지기 URL을 보냅니다.
$upit = "SELECT * FROM usluga";
$data = $mysql->query($upit);
while ($row = mysqli_fetch_object($data))
{
echo "<a href='"."index.php?tretmanId=$row->tretman_id"."'>$row->naziv</a>";
echo "<br><br>";
}
이 값은 "$_GET['name from URL']"로 타겟 페이지에서 얻을 수 있습니다.
$TrermanIdFromUrl = $_GET['tretmanId'];
예를 들어 다음 URL에 변수를 포함하면 원하는 페이지를 호출할 수 있습니다.
header("Location: ../signup.php?newpwd=passwordupdated");
그리고 당신의 가입에.php 페이지에는,
if (isset($_GET['newpwd']) && $_GET['newpwd'] == "passwordupdated") {
//code here
}
언급URL : https://stackoverflow.com/questions/871858/php-pass-variable-to-next-page
'programing' 카테고리의 다른 글
java.displaces를 클릭합니다.Illogal Access Error: 클래스 lombok.javac.apt를 클릭합니다.Lombok Processor는 com.sun.tools.javac.processing 클래스에 액세스할 수 없습니다.Javac Processing Environment(Javac 처리 환경) (0) | 2022.10.12 |
---|---|
Windows에서 가장 빠른 화면 캡처 방법 (0) | 2022.10.12 |
JavaScript에서 변수가 정수인지 확인하는 방법 (0) | 2022.10.12 |
목록을 자세히 복사하려면 어떻게 해야 합니까? (0) | 2022.10.12 |
오브젝트 저장(데이터 지속성) (0) | 2022.10.12 |