假设我还编写了类似的登录表单,然后按名称通过$ _SESSION ['name']发出会话,如下所示
session_start();
if(!isset($_SESSION['name'])){
header("Location: login.php");
}
然后在同一个文件上(display.php)我还会显示一个表单,向管理员发布一条消息,告诉他我的感受如何
<td>
<form action="tellhim.php" method="POST">
Title:<input type="text" col="30" name="comment_title"/><br/>
Your feeling:<br/><textarea name="comment_content" col="10"></textarea><br/>
<input type="hidden" name="postfeeling" value="TRUE"/>
<input type="submit" value="Submit"/>
</form>
</td>
这意味着,在我点击按钮提交我的感觉后,我将被引导至tellhim.php。然后问题是在重新加载页面后会话似乎无效。有人可以帮帮我吗?
答案 0 :(得分:2)
exit();
header()
文件tellhim.php
还需要:
session_start();
并且session_id
已经以某种方式添加到tellhim.php
,像这样自动添加:
ini_set('session.use_cookies', 1);
ini_set('session.use_trans_sid', TRUE);
ini_set('url_rewriter.tags', 'a=href,area=href,script=src,link=href,frame=src,input=src,form=fakeentry,form=post,form=action');
session_start();
答案 1 :(得分:0)
您需要在所有要使用的文件之前使用session start()
// login.php登录后重定向到display.php
在session_start();
//设置会话变量
$ _ SESSION ['name'] ='xxx';
// Display.php的
在session_start();
if(!isset($_SESSION['name'])){
header("Location: login.php");exit;
}
{其余的表单代码在这里}