gpt4 book ai didi

php - 注销后重定向到同一页面

转载 作者:行者123 更新时间:2023-12-05 08:34:40 26 4
gpt4 key购买 nike

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;
?>

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

最佳答案

方法 1:在您的 logout.php 文件中,您需要检查是否有上一页的 REFERER url 并重定向,如果没有,则重定向到 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');
}
?>

关于php - 注销后重定向到同一页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20627245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com