php redirect缺点,我对PHP Post / Redirect / Get感到困惑

在关于阻止PHP表单重新提交的article中,我阅读了以下内容:

(不引用)这可能是接收表单数据的页面,例如名为“form.php”:

因此,处理POST数据的页面将被称为“submit.php”.如果登录正确,则此代码将运行:

header('Location: /login/form.php?success=true');

但是,用户无法导航到上面的URL?另外,GET变量的目的是什么?难道我不能在form.php上有一个脚本来检查用户是否已登录?

在submit.php,我应该将登录的用户名保存为$_SESSION [‘username’],然后检查form.php中是否有isset()?此外,由于其中“成功”的URL不是很漂亮,再次重定向用户是否经济?我应该使用PHP header()还是Javascript window.location.href?如你所见,我有点困惑.

谢谢你的帮助.

解决方法:

However, couldn’t a user just navigate to the URL above?

是的,他能.这不会导致任何不好的事情.

Also, what is the purpose of the GET variable?

要有一些标志代表表单已成功处理的事实,您需要祝贺用户.

Couldn’t I just have a script at form.php that checks if the user is logged in?

嗯,你可以按自己喜欢的方式保存你的代码.没有任何强烈的要求

At submit.php, should I save the logged in username as $_SESSION[‘username’], and then check if isset() at form.php?

如果你需要在当前会话中保持它 – 是的,这样做.

Also, since a URL with “success” in it isn’t really pretty, is it economical to redirect the user once again?

重定向在哪里.重定向很便宜.

Should I use PHP header() or Javascript window.location.href?

你肯定应该在PHP中这样做,否则你会遇到你试图避免PRG方式的麻烦.

标签:html,php,forms,post,get

来源: https://codeday.me/bug/20190926/1818985.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值