PHP无法处理请求

PHP无法处理请求,php,Php,这是我的代码,不太清楚为什么它不工作,但它不能被处理。我可以正确处理phpinfo() <?php include("tools.php"); $username = $_POST["uname"]; $email = $_POST["email"]; $pasword = $_POST["pword"]; if(isset($username) and isset($email) and isset($password)){ if(add_user_database($use

这是我的代码,不太清楚为什么它不工作,但它不能被处理。我可以正确处理phpinfo()

<?php

include("tools.php");
$username = $_POST["uname"];
$email = $_POST["email"];
$pasword = $_POST["pword"];

if(isset($username) and isset($email) and isset($password)){
    if(add_user_database($username, $email, $password) == TRUE){
        echo "You've been added!!!";
        header("location:login.php");
    }else{
        echo "<script>alert('Error has occurd please contact " . 
                            "support or try again later');</script>";
        header("location:register.php");
    }
}else{
  echo "<script>alert('Please fill in all forms');</script>";
  header("location:register.php");
}
?>
php文档中的

请记住,在发送任何实际输出之前,必须先调用header(),可以是通过普通HTML标记、文件中的空行,也可以是从PHP中调用。使用include或require函数或其他文件访问函数读取代码,并且在header()之前输出空格或空行,这是非常常见的错误调用。使用单个PHP/HTML文件时也存在相同的问题。”

您不应该在那里需要回显,如果您真的需要这些消息,可以将它们设置为
$\u SESSION('statusMessage')
然后在重定向页面上检查它是否已设置,回显一些内容以显示它,并将它们设置为undefined

另外,请确保在
add\u user\u database()

编辑:

有用的提示

在检查登录脚本中:

if(add_user_database()){
  $_SESSION['addUserStatus'] = "Success, you have been added, woo!";
  header("Location: someOtherPage.php");
}else{
  $_SESSION['addUserStatus'] = "Error! Please contact support for assistance!");
  header("Location: someOtherPage.php");
}
在另一页中:

if(isset($_SESSION['addUserStatus']){
  echo "<script>showLoginMessage('" . $_SESSION['addUserStatus'] . "')</script>";
  $_SESSION['addUserStatus'] = undefined;
}
if(isset($\u会话['addUserStatus'])){
echo“showLoginMessage(“$”会话['addUserStatus']。“)”;
$\u会话['addUserStatus']=未定义;
}

标题已发送错误 看看

请记住,在发送任何实际输出之前必须调用header()


尝试在每次调用
header()
之前删除echo语句。当您想要重定向页面时,显示任何消息都是不好的做法。此外,根据您的php错误设置,它可能会引发错误。您是否收到任何错误?如果没有,请在php脚本的最顶部添加这些行,
ini\u set('display\u errors',1);错误报告(E_全部)
并查看它是否产生任何错误。这不是一个坏习惯,它是错误的。在使用header命令进行重定向调用之前,无法发送客户端数据。我猜可能是这样的:。如果错误日志中有什么有趣的内容?或者您熟悉吗?您确实看到您有一个带有s的
$pasword
,对吗?