如何SESSION['variables']
在用户离开页面时取消设置,而不必在我网站上的每个页面的顶部包含一些内容?
您可能知道的任何最佳实践?
谢谢。
编辑
我有一个设置公司和客户的向导。这包括 2 页:1 页用于公司,1 页用于客户。如果用户想为客户重复使用在公司填写的数据,他可以选中复选框,当第 1 页(公司)的表单发布时,在第 2 页(客户)这些字段会自动设置(想想字段,例如:邮政地址、街道、电话等)。用户可以随时访问第 1 页和第 2 页,因此我必须取消设置会话,否则它将继续自动填充字段。
在第 2 页设置字段后,我可以取消设置会话,但是当他刷新浏览器时,字段再次变为空。这当然不是一个大问题,但是当用户转到任何其他页面(不退出浏览器和在我的网站内)时,是否有一种简单的方法可以仅取消设置这些会话?
编辑
我的代码:
公司页面:
$_SESSION['wizard2']= "true"; // used for manipulating page when entering in wizard mode
if (isset($_POST['savedata'])) // if user wants to re-use data from page1
{
$_SESSION['savedata'] = "true";
$_SESSION['custprovincesession']=mysql_real_escape_string($_POST['compprovince']);
header("Location:customer_page.php");
exit();
客户页面:
if (isset($_SESSION['wizard2'])) // used for manipulating page when entering in wizard
{
unset ($_SESSION['wizard2']);
}
if (isset($_SESSION['savedata'])) // if user wants to re-use data from page1
{
$_SESSION['wizard3'] = "true";
}
<tr>
<th><label for="custprovince">Province:</label></th>
<th><input type="text" name="custprovince" style=width:200px id="custprovince" size="8" value="<?php if (isset($_SESSION['wizard3'])) { echo $_SESSION['custprovincesession'];}?>"/></th>
<th> </th>
<th> </th>
</tr>
在第 2 页的末尾:
if (isset($_SESSION['wizard3']))
{
unset ($_SESSION['wizard3']);
unset ($_SESSION['custprovincesession']);
}
因此,通过刷新页面可以取消设置会话。当用户离开“customer_page.php”时,是否没有其他方法可以取消设置这些会话?