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