要记住表单提交的Cookie

时间:2012-11-28 22:18:27

标签: html forms cookies remember-me

我有一个表单,在提交时会附加当前页面的网址:domain.com变为domain.com?name=value

表单效果很好,但是我需要编写一个cookie,这样当用户转到另一个页面时,url将保留已附加到URL的字符串。

domain.com?name=value
domain.com/page?name=value
domain.com/page2?name=value

1 个答案:

答案 0 :(得分:0)

如果在PHP页面之间传递变量是你想要的,那么将它传递给会话变量:

在项目的所有页面中,在顶部添加以下行:

<?php
    session_set_cookie_params(0);
    session_start();
?>

然后在一个页面中为会话变量赋值:

$_SESSION['name'] = value;

在同一会话中的另一个页面中检索此变量:

$name = $_SESSION['name'];

在您完成会话打开的任何时候,请致电

<?php 
    session_start();
    $_SESSION = array();
    session_destroy();
?>

请查看this SO post以获取完全销毁会话的方法。请记住,默认情况下会话保持打开状态,直到浏览器关闭或会话被明确销毁。

如果处理会话不是您想要的,那么只要您在PHP中调用脚本,就可以手动传递变量:

<?php 
    $name = $_GET['name'];
    echo "<form action='nextpage.php?name=$name' method='post'> ... </form>";
?>

这样,所有表单都会通过GET将name变量发送到下一页。