我想显示一个登录弹出窗口,当用户单击任何需要用户登录的按钮/链接时,由 JS 处理的覆盖层。 例如:如果用户尝试在未登录的情况下发表评论,则单击帖子时我必须显示此弹出窗口。
这不是 ajax 调用,我可以根据服务器响应显示弹出窗口。
有办法做到这一点吗?也许通过检查状态代码或类似的东西?
挑战是,当用户登录时,特定操作会将用户带到另一个页面,但是当用户未登录时,我想抑制此操作,而是在同一页面中显示登录弹出窗口。
最佳答案
小心,即使在 Chrome 中,您也可以直接编辑 javascript,只需右键单击页面 > 检查元素 > 资源 > javascript,然后输入您的更改,绕过您的检查。请记住,您使用它只是为了增加用户体验,但请确保您的 php 或任何服务器端脚本检查有效 session 。
因此,假设您正在处理这一问题,如果您向按钮/链接添加一个类,如下所示:
<a href="go_to_post.php" class="requires_login">Post Comment</a>
<form><input type="submit" class="requires_login" value="Post Comment" /></form>
例如,您可以使用 javascript 或 jquery:
$(document).ready(function(){
var valid_session='<?php echo (isset($_SESSION['id']) ? 'true':'false'); ?>';
$('.requires_login').on('click',function(event){
if (valid_session=='false'){
event.preventDefault();
alert('open popup instead');
//for instancce, $('#my_popup').show(); if you have:
//<div id="my_popup">You must be logged in first!</div>
}
});
});
希望有帮助!
关于php - 显示登录 JS 弹出窗口以进行身份验证所需的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13029426/