我正在尝试使用会话将表单数据发送到php中的另一页。但是,当使用“返回”返回上一页以重新发送新的会话数据时,它将先前的会话数据保存在第二页的输入字段中。我打算每次发送新的会话数据,删除以前的会话数据。
session_destroy();
$_SESSION['showvals'] = array();
这些都不起作用。
这是我尝试过的。
第1页-sess1.php
<?php
if (isset($_SESSION['showvals'])) {
//session_destroy();
$_SESSION['showvals'] = array();
}
session_start();
if(isset($_POST['Submit'])) {
$_SESSION['showvals'] = $_POST['sesval'];
}
?>
<strong>Test Form</strong>
<form action="sess2.php" method="post">
<input type="text" name="sesval"/>
<input type="submit" name="Submit" value="Submit" />
</form>
第2页-sess2.php
<?php session_start(); ?>
<strong>Show Form</strong>
<input type="text" name="showval" value="<?php echo $_SESSION['showvals']?>">
<input type="button" name="prevbutton" value="GO BACK" onclick="goback()">
<script type="text/javascript">
function goback(){
window.location="sess1.php";
}
</script>
答案 0 :(得分:0)
如果要检查和销毁会话,则需要先启动会话
if (isset($_SESSION['showvals'])) {
//session_destroy();
$_SESSION['showvals'] = array();
}
session_start();
在这里您要在检查后开始会话,因此它永远不会因为未设置而破坏它
//start the session
session_start();
//check
if (isset($_SESSION['showvals'])) {
//destroy the session
session_destroy();
}