1

如何location.reload()在没有获取边界的情况下在 php 文件上制作“”?

这是一个例子..

假设我有 PHP,在右上角,我有注销按钮。

当用户按下该按钮时,PHP 将自动重定向到“ index.php?logout”,然后,我将注销(取消设置 cookie 和其他)并返回( javascript location.reload() )主页面(登录页面)

我遇到的问题是,当php在注销后返回登录页面时,url仍然是“ index.php?logout”,所以当用户使用“ index.php?logout”页面登录时,它会自动注销(因为?logout perimeter on url)..

那么我该如何解决这个问题呢?有人知道吗?

我希望你们都明白我想告诉你们的一切..

感谢您阅读本文。。

4

4 回答 4

1

使用self.location.reload而不是location.reload. 因为location.reload重新加载当前页面。你可以简单地使用

 self.location.reload = index.php

或者您可以从您的网址中删除查询参数,例如

var url = 'index.php?logout'
url=url.split("?")[0];
location.reload =url
于 2013-05-30T05:53:47.523 回答
0

您重定向到登录页面并保存页面 url 请求登录的页面 url 用于重定向index.php?logout返回 您必须检查周界logout(如果存在)将其从返回 url 中删除

//replace parent::$Patch with your root url like "http://localhost/myapp/"
if(!parent::$Patch.'admin/login.php'=='http://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']){//check if you are in login.php page didn't redirect to login.php
 if(!@header('Location:'.parent::$Patch.'admin/login.php?url='.rawurlencode(str_replace("logout","",'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'])))){
       //if header error echo javaScript code for re-direct
      ?>
                         <!DOCTYPE HTML>
                         <html>
                         <head>
                         <script language="javascript">  
                           var LoadP = <?php print "'".parent::$Patch.'admin/login.php?url='.rawurlencode(str_replace("logout","",'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']))."'"?>;
                           self.location = LoadP; 
                         </script></head></html>
                         <?php  
                        }
                        exit();

   }

}

此代码将用户重定向到登录页面并保留页面的返回 url。如果logout存在于返回 url 中,则将其删除

我希望它可以帮助你

于 2013-05-30T05:45:24.487 回答
0

location.reload() 使用帖子数据重新加载当前页面,您应该在登录/注销的情况下使用 window.location.href

于 2013-05-30T05:47:10.683 回答
0

当用户按下该按钮时,PHP 将自动重定向到“index.php?logout”,> 之后,我将注销(取消设置 cookie 和其他)并返回(javascript location.reload()>)到主页(登录页)

所有这些都可以在服务器端实现。

// LOGOUT
if(isset($_GET['logout'])){ 
//logout code
}

header('location: www.yoursite.com/login') //or whatever the url is
exit;
于 2013-05-30T05:53:03.540 回答