php header 不会在我的网站之一上重定向

php header won't redirect on one of my website

我有两个内容相同的网站。一个是“.com”,另一个是“.nc”。

我有这个 php 页面:

<?php 
// si le mot de passe est posté 
if(isset($_POST["motpasse"])){ 
  // si la valeur du mot de passe est bien celle qu'il faut 
  if($_POST["motpasse"] == "pass") { 
    header ("Location: dernier.php"); 
    exit(); 
  }else {echo "Mauvais mot de passe";} 
} 
echo ('<p align="center"><font size=6pt>Veuillez saisir 
       votre mot de passe: <br></p></font>'); 
echo '<form name="motdepasse" method="post" 
       action="' . htmlspecialchars($_SERVER['REQUEST_URI']) . '">'; 
echo ('<p align="center"><input type=password name="motpasse" 
       size="5" style="height:60px; width:160px" value="" /></p>'); 
echo ('<p align="center"><input type="submit" 
       name="action onClick=(this.form)"  
       style="height:60px; width:160px"value="OK"></p>'); 
echo '</form>'; 
?> 

奇怪的是,header 函数在“.com”网站上有效,但在“.nc”网站上无效

当我输入密码时,header 不会将我重定向到我输入的 php 页面 ("dernier")。知道为什么吗?

JackBauer 告诉您有关 headers 发送的内容是正确的。另一个令人讨厌的解决方案是:

<?php 
// si le mot de passe est posté 
if(isset($_POST["motpasse"])){ 
// si la valeur du mot de passe est bien celle qu'il faut 
if($_POST["motpasse"] == "pass") { 
echo "<meta http-equiv="refresh" content="0;url=dernier.php">";
/*header ("Location: dernier.php"); */
exit(); 
}else {echo "Mauvais mot de passe";} 
} 
echo ('<p align="center"><font size=6pt>Veuillez saisir votre mot de passe: <br></p></font>'); 
echo '<form name="motdepasse" method="post" action="' . htmlspecialchars($_SERVER['REQUEST_URI']) . '">'; 
echo ('<p align="center"><input type=password name="motpasse" size="5" style="height:60px; width:160px" value="" /></p>'); 
echo ('<p align="center"><input type="submit" name="action onClick=(this.form)"  style="height:60px; width:160px"value="OK"></p>'); 
echo '</form>'; 
?> 

但也许脚本中失败的主要原因是表单中的操作。 使用 firebug 在您的客户端查看您的 scaped html 代码。 (您在浏览器中看到的{字体代码})

再见!