我在这里有一个严重的问题。我用会话创建了一个用户系统。 问题是只有当您登录时才会看到内容。例如,在导航栏中,登录按钮被替换为一个账户按钮。PHP包含页面内容不刷新
现在我的问题: 每页php-includes navbar.php。 例如在index.php文件写的是:
<body>
<?php include("navbar.php")?>
</body>
的login.php中重定向到的index.php:
header("Location: index.php");
但是,index.php文件不会刷新。用“F5”进行硬刷新后,每件事情都很好。
我也试过meta标签,以防止在缓存中加载页面。
任何想法?
的index.php:
<html lang="en">
<head>
...
</head>
<body >
<?php include("navbar.php")?>
<div id="wrap">
...
</div>
</body>
</html>
navbar.php
<div class="navbar">
<?php
session_start();
if (!isset($_SESSION['logged']) || !$_SESSION['logged'])
{?>
...Sign in etc...
<?php
}
else
{?>
...Accounting...
<?php
}?>
</div>
的login.php:
<html>
<head>
</head>
<body>
<?php include("navbar.php"); ?>
<div class="container">
<form class="form-signin" action="logon.php" method="post" >
...
<button type="submit">Login</button>
</form>
</div>
</body>
</html>
logon.php:
<?php
if login successfull //pseudo code
header("Location: http://www.***.com/index.php");
}
else
{
header("Location: http://www.google.de");
}
exit;
?>
什么是您的PHP文件的缓存限制?谈论.htaccess –
因为它是一个动态文件,一般的做法是强制不缓存 –
你在哪里包括login.php文件?在调用'header'之前你是否回声?在设置标题之前,文件中是否有HTML?如果是这样的话:将'header'移动到顶端,或使用'ob_start()' –