1
我有一個示例程序,將輸入的字段輸入傳遞給$ _SESSION,然後回顯到第3頁。但似乎在第一頁(index.php)中輸入的輸入不會回顯,而在第二頁中卻是這樣。我如何解決這個問題?PHP會話變量不通過,不能通過第3頁讀取
我也想要一個代碼,輸入與封閉銷燬,這就是爲什麼我有我的代碼中的每body
onunload="<?php session_destroy(); ?>"
。
的index.php代碼:
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form class="" method="post" action="page1indexHandler.php" onunload="<?php session_destroy(); ?>">
Check-in: <input type="text" name="check_in" placeholder="Check-in">
Check-out: <input type="text" name="check_out" placeholder="Check-out">
<br>
<input type="submit" name="Proceed" value="Proceed">
</form>
</body>
</html>
page1indexHandler.php代碼:
<?php
session_start();
$_SESSION['check_in'] = $_POST['check_in'];
$_SESSION['check_out'] = $_POST['check_out'];
header("Location: register.php");
?>
register.php(第二頁)代碼:只是爲了
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form class="" method="post" action="page2registerHandler.php" onunload="<?php session_destroy(); ?>">
first name: <input type="text" name="firstname">
last name : <input type="text" name="lastname">
<br>
<input type="submit" name="proceed" value="proceed">
</form>
</body>
</html>
output.php(回聲/檢查目的)代碼:
<?php
session_start();
echo $_SESSION['check_in'] . "<br>";
echo $_SESSION['check_out'] . "<br>";
echo $_SESSION['firstname'] . "<br>";
echo $_SESSION['lastname'] . "<br>";
?>
下面是示例程序的輸出:
Notice: Undefined index: check_in in C:\xampp\htdocs\series\kenny\output.php on line 3
Notice: Undefined index: check_out in C:\xampp\htdocs\series\kenny\output.php on line 4
John // I inputted this in the register.php code, it echoes
Doe // also this one
'onunload'在客戶端工作。所以'session_destroy'總是在頁面加載時運行。 –
[客戶端和服務器端編程有什麼區別?](http://stackoverflow.com/questions/13840429/what-is-the-difference-between-client-side-and-server - 側編程) –
我看到..我試圖刪除它們,它的工作。謝謝! =)但是我想做一些事情,例如,當用戶在輸入這些表單的過程中關閉瀏覽器時,完成的表單就會被銷燬。我怎麼做? – Kenny