$\u会话:变量未传递到其他php页面
基本上,我正在编写一个表单,将数据从index.php传递到highscore.php。为了阻止重复点击提交按钮的垃圾邮件发送者,我添加了一个系统,index.php在其中创建一个uniqid并将其设置为会话变量,并将其与表单的其余部分一起发布。php接收发布的uniqid并将其与会话变量进行比较。如果匹配,它将添加数据并取消设置会话变量,从而停止它获得的所有其他POST,因为uniqid不再匹配 但是,$\u会话:变量未传递到其他php页面,php,mysql,session,Php,Mysql,Session,基本上,我正在编写一个表单,将数据从index.php传递到highscore.php。为了阻止重复点击提交按钮的垃圾邮件发送者,我添加了一个系统,index.php在其中创建一个uniqid并将其设置为会话变量,并将其与表单的其余部分一起发布。php接收发布的uniqid并将其与会话变量进行比较。如果匹配,它将添加数据并取消设置会话变量,从而停止它获得的所有其他POST,因为uniqid不再匹配 但是,$\u会话['form\u token']不是highscores.php页面上的有效索引。
$\u会话['form\u token']
不是highscores.php页面上的有效索引。我不确定出了什么问题
这是我的密码:
index.php
<?php
session_start();
$form_token = uniqid();
$_SESSION['form_token'] = $form_token;
echo $_SESSION['form_token'];
?>
最后一行的回音不会打印任何内容
如果你需要更多的代码,请告诉我
提前感谢您的帮助
编辑:在index.php上运行打印($\u会话)
返回:
56a741da4bcc7Array
(
[form_token] => 56a741da4bcc7
)
在highscores.php上返回
Array()
另外,在index.html上,echo$\u会话['form\u token']
确实返回uniqid
编辑2:我一直在尝试它,我发现如果我重新加载index.php然后提交表单,它就可以正常工作。否则,它似乎不起作用
再次感谢 您的浏览器是否保留会话cookie,您是否已通过F12进行检查?您的web服务器是否可以在服务器上创建会话文件?此问题是否发生在您的开发环境或生产环境中@在每个页面中删除($会话),然后更改浏览器并告诉您看到的内容。是start SESSION_start();第一行代码?如果(isset($\u SESSION['form\u token']){echo$\u SESSION['form\u token'];}索引页上的echo是否显示值?
Array()