未执行PHP标头(位置:';index.PHP';)和javascript
我的问题是,当用户注销时。登录页面正在被调用,索引页面正在显示,但url显示未执行PHP标头(位置:';index.PHP';)和javascript,javascript,php,header,location,Javascript,Php,Header,Location,我的问题是,当用户注销时。登录页面正在被调用,索引页面正在显示,但url显示 https://mysite/logout.php 而不是 https://mysite/index.php 这意味着index.php中包含的我的javascript文件不会被加载,因此如果不手动刷新页面,您无法再次登录 在home.php中链接登录后到达的页面 <p class="mc-top-margin-1-5"><a href="logout.php">Logout&
https://mysite/logout.php
而不是
https://mysite/index.php
这意味着index.php中包含的我的javascript文件不会被加载,因此如果不手动刷新页面,您无法再次登录
在home.php中链接登录后到达的页面
<p class="mc-top-margin-1-5"><a href="logout.php">Logout</a></p>
我错过了什么 您的函数
已登录()
返回一个布尔值TRUE,但您正在使用以下参数检查返回值:
if($user->is_logged_in()!="")
也就是说,检查它是否为空字符串
而且,更重要的是,is\u logged\u in()
不会在用户未登录时返回任何内容。该函数应该类似于:
public function is_logged_in()
{
if(isset($_SESSION['userSession']))
{
return true;
}
else { return false; }
if(!$user->is_logged_in())
}
支票应该是这样的:
public function is_logged_in()
{
if(isset($_SESSION['userSession']))
{
return true;
}
else { return false; }
if(!$user->is_logged_in())
所以我最终得到了一个不太好的解决方案: 我更改了home.php中的链接
`<p class="mc-top-margin-1-5"><a href="logout.php">Logout</a></p> `
我的logout.php最终看起来像
<?php
session_start();
unset($_SESSION['user_session']);
session_destroy();
?>
<html>
<head>
<script>
window.location.href = "https://example.com/index.php";
</script>
</head>
<body>
</body>
</html>
window.location.href=”https://example.com/index.php";
所以从php中使用页眉刷新页面开始。我最终使用了js和jquery。这不是一个很好的解决方案上面,但它的工作 谢谢你的回复。我添加了你的代码。我仍然没有被重定向到index.php。它仍然停留在页面上,请查看代码前是否有空格或白线。“Header”只有在没有任何东西发送到浏览器时才起作用。但它确实给了我index.php的用户界面,但浏览器说:而且我的js文件没有着火。所以我猜头球很管用-有点
$(function(){
$("#btn-logout").bind('click', function () {
window.location.href = "http://example.com/logout.php";
})
});
<?php
session_start();
unset($_SESSION['user_session']);
session_destroy();
?>
<html>
<head>
<script>
window.location.href = "https://example.com/index.php";
</script>
</head>
<body>
</body>
</html>