抱歉,我已经阅读了一些有关此内容的话题。 但它没有奏效或对我说清楚。 我想确保当我的MySQL说维护= 1时,他将标题重定向到维护。 在维护中,同样的事情发生但是当维护= 0时,他将头重定向回索引。 这工作正常.. 但是现在我想拥有一个IP白名单,这样当它处于维护状态并且我访问该页面时,我仍然可以看到它自己的网站..但这不能正常工作..
我希望有人可以帮助我并了解我做错了什么。
checkmaintenance.php的代码:
<head><link rel="stylesheet" type="text/css" href="../css/style.css"></head>
<?php include('config-connection.php'); ?>
<?php
$whitelist = mysql_query("SELECT * FROM whitelist_ip");
while ($ip = mysql_fetch_assoc($whitelist)) {
$checkip = $ip['ip'];
}
?>
<?php
if($checkip == $_SERVER['REMOTE_ADDR']) {
echo "<center><div class='error'>The website is in maintenance. But your IP has been whitelisted so you can see the website!</div></center>";
}
?>
<?php
if($maintenance == 1){
flush(); // Flush the buffer
ob_flush();
header('Location: maintenance.php');
}else{
echo "";
}
?>
我知道我是PHP的菜鸟,我试着比现在更好地学习和理解它..
为了清楚自己维护的内容,我将该代码的一部分发布在此下面:
<?php include('config/config-connection.php'); ?>
<?php
$whitelist = mysql_query("SELECT * FROM whitelist_ip");
while ($ip = mysql_fetch_assoc($whitelist)) {
$checkip = $ip['ip'];
}
?>
<?php
if($checkip == $_SERVER['REMOTE_ADDR']) {
flush(); // Flush the buffer
ob_flush();
header('Location: index.php');
}
?>
<?php
if($maintenance == 0){
flush(); // Flush the buffer
ob_flush();
header('Location: index.php');
}else{
echo "";
}
?>
索引仅包含以下行:
<?php include('config/checkmaintenance.php'); ?>
如果有人能向我解释为什么它不起作用,我会很高兴。 或者我应该如何做得比目前更好。
亲切的问候, 布赖恩
答案 0 :(得分:0)
你不能在header()函数之前回显文本!
尝试类似
的内容echo '<meta http-equiv="refresh" content="0; URL=YOUR URL">';