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');
}
?>
怎么样,
header('Location:'.$_SERVER['HTTP_REFERER']);
在您的login.php文件中:
$BackToMyPage = $_SERVER['HTTP_REFERER'];
if(isset($BackToMyPage)) {
header('Location: '.$BackToMyPage);
} else {
header('Location: index.php'); // default page
}
尝试在logout.php中添加一个参数,这样您就可以动态地将用户重定向到他按下注销按钮的页面。
<li class="hover"><a href="logout.php?page=homepage.php">Logout</a>
Welcome <?php echo $_SESSION['login_user']; ?>
</li>
然后在您的登录中.php
<?php
session_start();
session_destroy();
$page = $_GET['page'];
header('Location:' . $page);
exit;
?>
$before = $_SERVER['HTTP_REFERER'];
if(isset($before)) {
header('Location: '.$before);
} else {
header('Location: index.php');
}
exit;
如果要重定向到同一页面或刷新该页面,则不需要$_SERVER['HTTP_REFERER']
。
只需使用
即可完成header('Location : .');
if(isset($_POST['id']))
{
header('Location:index.php');
}