标题和会话变量存在严重问题。阅读相关帖子,但没有一个对我有帮助。
我正在使用会话来存储有关登录用户的一些信息,例如名称、用户 ID 等。
首先,让我们说$_SESSION['user_id']=6;
。
然后让我们坐下来,我想查看某人的个人资料。有一个下拉列表,您可以在其中选择要查看其个人资料的人员,然后单击View
。处理页面会查找您选择的人的 user_id,并将您重定向到该人的个人资料。
代码是这样的:
<?php session_start();
$_SESSION['user_id']=1; //this is the user_id of the person logged in..
/*......many lines of code*/
?>
<select name="user_id">
<option value="4">George Thuo</option>
<!--other many options-->
</select>
<input type="submit" name="view" value="View">
然后这将引导您进入如下所示的处理页面:
$user_id=$_POST['user_id'];
header("Location: view.php?user_id=".$user_id);
看到之前我们使用了标头,$_SESSION['user_id']=1;
但是在标头是用户之后,我不知道为什么但是$_SESSION['user_id']=4;(the user_id passed via the $_POST method
为什么会发生变化?