注销后重定向到同一页面

时间:2013-12-17 06:15:38

标签: php session logout

的index.php

<ul class="top">
       <?php if(!isset($_SESSION['login_user'])) { ?>
        <li class="hover"><a href="#" onClick="revealModal('modalPage')">Login</a>
        </li>
         <?php } else {?>
        <li class="hover"><a href="logout.php">Logout</a>
           Welcome <?php echo $_SESSION['login_user']; ?>
        </li>
         <?php } ?>
        <li><a href="registration.php" class="about">Registration</a>
        </li>
    </ul>

logout.php

<?php    
session_start(); 
session_destroy(); 
header('Location:index.php');  
exit;  
?>  

我的每个页面都有我的注销按钮,所以我想要,如果用户点击注销,他/她应该重定向到同一页面...因为我在这里给出了位置页面索引,但我想要保持在同一页面..重定向到同一页面的任何代码?提前谢谢..

6 个答案:

答案 0 :(得分:7)

方法1 :在 logout.php 文件中,您需要检查上一页是否有REFERER网址,如果没有,则重定向,重定向到的index.php

<?php    
session_start(); 
session_destroy();
if(isset($_SERVER['HTTP_REFERER'])) {
 header('Location: '.$_SERVER['HTTP_REFERER']);  
} else {
 header('Location: index.php');  
}
exit;  
?>

方法2 :您可以将引用传递给您的登录页面以进行重定向。

退出链接

<?php
function curPageURL() {
 $pageURL = 'http';
 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
 $pageURL .= "://";
 if ($_SERVER["SERVER_PORT"] != "80") {
  $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
 } else {
  $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
 }
 return $pageURL;
}
?>

<a href="logout.php?redirect=<?php echo base64_encode(curPageURL()); ?>">Logout</a>

logout.php 文件:

<?php
session_start(); 
session_destroy();
if(isset($_GET['redirect'])) {
 header('Location: '.base64_decode($_GET['redirect']));  
} else {
 header('Location: index.php');  
}
?>

答案 1 :(得分:2)

怎么样,

header('Location:'.$_SERVER['HTTP_REFERER']);

在您的login.php文件中:

$BackToMyPage = $_SERVER['HTTP_REFERER'];
if(isset($BackToMyPage)) {
    header('Location: '.$BackToMyPage);
} else {
    header('Location: index.php'); // default page
}

答案 2 :(得分:0)

如果您想重定向到同一页面或刷新页面,则不需要$_SERVER['HTTP_REFERER'] 可以使用完成  header('Location : .');

答案 3 :(得分:0)

尝试在logout.php中添加一个参数,这样您就可以动态地将用户重定向到他按下注销按钮的页面。

<li class="hover"><a href="logout.php?page=homepage.php">Logout</a>
           Welcome <?php echo $_SESSION['login_user']; ?>
        </li>

然后在你的logout.php

<?php    
session_start(); 
session_destroy(); 
$page = $_GET['page'];
header('Location:' . $page);  
exit;  
?>

答案 4 :(得分:0)

$before = $_SERVER['HTTP_REFERER'];
if(isset($before)) {
     header('Location: '.$before);  
} else {
     header('Location: index.php');  
}
exit;  

答案 5 :(得分:-1)

if(isset($_POST['id']))
{
    header('Location:index.php');  
}