因此,如果我在我网站的登录页面上,我会在“名称”和“MNo”字段中输入“Joe Bob”和“111”,并使用此代码制作:
<form action="userLogin.php" method="post">
Name: <input type="text" name="name"><br><br>
Member Number: <input type="text" name="MNo"><br><br>
<input type="submit" value = "Sign in!">
</form>
在下一页中,我可以从输入的字段中获取名称和成员ID,如下所示:
$name = $_POST["name"];
$MNo = $_POST["MNo"];
现在在同一页面上,我想要一个Joe Bob可以点击的按钮,它将显示他的用户的历史记录:我需要他的MNo来搜索MySQL数据库,但是当我转到下一页时,使用
<form action = "rentalHistory.php" method = "get">
<input type="submit" value="View my Rental History">
</form>
我不再允许使用
$MNo = $_POST["MNo"];
错误说“注意:未定义的索引:MNo”,这意味着它没有保存上一页的MNo变量:我该怎么做?
正如您所看到的那样,当我让用户输入他们的会员编号时,它会起作用,但我不想每次都这样做。
如何创建以便用户在开头输入成员编号,然后在登录后可以在多个页面上用于MySQL查询?
答案 0 :(得分:1)
在php中有多种方法让用户跟随用户,最重要的是我建议使用session_start()
然后为会话变量赋值。
另一种方式,但我不建议让用户通过隐藏属性<input type="hidden name="MNo" value="value">
的表单继续浏览下一页。
答案 1 :(得分:1)
<form action="rentalHistory.php" method="post">
<input type="hidden" name="MNo" value="$_POST[MNo]">
<input type="submit" value="View my Rental History">
</form>
答案 2 :(得分:0)
如果页面加载后$_POST
变量不可用,则表示您发布的表单不包含其中包含名称的变量,或者您已完成{{1}请求将用户的名称作为查询字符串传递(如果表单中未包含任何名称输入,隐藏或其他方式,则仍然无效)。
首先尝试GET
,如果这不起作用,您需要在租借历史记录查找表单中添加一个名为$_GET['name']
的隐藏输入,并将其值设为先前发布的{{ 1}}值。
如果您需要经常访问会话,您还可以在会话中存储用户数据,确保在适用时销毁会话!