(不是直接引用)这可能是接收表单数据的页面,例如称为"form.php":
<form action="submit.php">
<input type="text" name="user" required />
<input type="password" name="pass" required />
<input type="submit" value="Log in" />
</form>
处理POST数据的页面将被称为“submit.php”。如果登录成功,以下代码将运行:
header('Location: /login/form.php?success=true');
然而,用户是否可以直接导航到上述URL?此外,GET变量的目的是什么?我是否可以在form.php中编写一个脚本来检查用户是否已登录?
在submit.php中,我应该将已登录的用户名保存为$_SESSION ['username'],然后在form.php中检查isset()吗?另外,“success”作为URL并不好看,再次重定向用户是否经济实惠?我应该使用PHP header()还是Javascript window.location.href?如您所见,我有点困惑。
感谢任何帮助。
?success
并不会让它变得很丑陋。我经常使用这样的东西,因为大多数人都不会注意到它,而且非常容易。 - mellamokbform.php
使用它来确定是否应该显示成功消息。如果您愿意,可以在会话中执行此类操作。重要的部分是有一个重定向,因此重新加载不会重新执行 POST,只会执行到成功页面的无害 GET。 - John Flatnessif (isset($_SESSION...
那么容易。 - zerkms