我如何重定向用户,如果他们是在登录页面本身与PHP



在我的登录系统上,我让它通过AJAX请求在fancyBox灯箱中弹出。但有一个问题。如果用户在浏览器中访问login.php本身,他们会看到一个没有样式的页面,这个页面不起作用,因为帮助它的JavaScript在有登录弹出的页面上。如果他们在login.php上,我想把他们重定向到主页。

I tried doing this:

<?php
if($_SERVER['REQUEST_URI'] == '/login.php') {
header("Location: /");
}
?>

以及:

<?php
if($_SERVER['PHP_SELF'] == '/login.php') {
header("Location: /");
}
?>

这两个都不起作用,因为当您打开fancyBox时,它会把页面弄乱并使其为空白。

是否有一种方法,使它重定向,如果用户是在登录页面本身,不影响fancyBox?

把这个放到你的login.php脚本中,以检测非ajax请求并在这种情况下重定向:

//Redirect the user if page not requested via ajax
if(!$_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest') { header('Location: /'); }

我建议在ajax调用中传递post或get变量,以指示脚本请求来自ajax。比如:

if(isset($_REQUEST["yay_ajax"])){
    // Output your login stuff
}
else{
    header("Location: index.php");
}

相关内容

  • 没有找到相关文章

最新更新