我正在使用 PHP、mySQL 和 Javascript 编写登录系统。我的网站实际上是一个用 javascript 编写的 1 页应用程序 - 只有 1 个 html 页面。所有交互和导航都是通过 javascript 完成的。
当用户注册时,我在激活列中使用 32 位密钥在数据库中创建他们的记录。我将此作为激活链接通过电子邮件发送给注册人。这会将他们带到一个激活他们帐户的 php 文件(如果有错误,则不会)。一切都很好。
激活(或错误)后,我可以将他们带到一个 html 页面(例如 header('somesite.com/success.html') 告诉他们他们的帐户是否已激活,但我更愿意将他们带回特定功能在我的 1 页 javascript 网站中。我该怎么做?
我可以将它们带到该站点,但是如何将消息从我的 php 重定向传递到该站点,以便它知道是显示成功消息还是错误消息?
我是否将其放在重定向的 URL 中,例如http://somesite.com?activation=success?如果是这样,我如何将此变量放入我的 javascript 中?
我可以从 php 激活脚本中设置一个会话变量并在我的代码中检查它,但这似乎很笨拙。
我可以在 URL 中设置一个哈希并在代码中选择它,但如果可以的话,我会避免使用哈希导航。关于实现这一目标的方法的任何想法?
以下帮助和网站其他地方的最终答案:
function getURLParameter(name) {
return decodeURIComponent(
(RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
);
}
然后重定向注册,例如 somesite.com?email=somebody%40else@somewhere.com&key=7da93f78cb4942555863c161f50f258d
我可以像 getURLParameter('email') 和 getURLParameter('key') 一样简单地获取这些变量
感谢大家的帮助。一定会喜欢这个网站