创建用户帐户——php使HTML表单消失

创建用户帐户——php使HTML表单消失,php,html,forms,Php,Html,Forms,我正在构建一个基于PHP的登录/创建帐户脚本。只要文件顶部的PHP被注释掉/不存在,表单就会正确显示。只要我将php放入文件中,表单就会消失。有人能看出他们是否找到了发生这种情况的原因吗 谢谢, 马特 //编辑 因此,我发现错误存在于if/else语句中,用于检查密码是否匹配。如果我注释掉else语句,页面将正确显示,一旦注释掉,我将得到一个空白页面。我甚至注释掉了mysql_query(),只是放了一个简单的回音,没有运气。 $db_found2 = conServer(); if($db_

我正在构建一个基于PHP的登录/创建帐户脚本。只要文件顶部的PHP被注释掉/不存在,表单就会正确显示。只要我将php放入文件中,表单就会消失。有人能看出他们是否找到了发生这种情况的原因吗

谢谢, 马特

//编辑 因此,我发现错误存在于if/else语句中,用于检查密码是否匹配。如果我注释掉else语句,页面将正确显示,一旦注释掉,我将得到一个空白页面。我甚至注释掉了mysql_query(),只是放了一个简单的回音,没有运气。
$db_found2 = conServer();

if($db_found2) {
    if (!empty($_POST['username']) || !empty($_POST['password']) || !empty($_POST['email']) || !empty($_POST['conpassword'])) {
        $username = $_POST['username'];
        $password = $_POST['username'];
        $conpassword = $_POST['conpassword'];
        $email = $_POST['email'];

        if ($password != $conpassword) {
            $errormsg = "";
            $passerr = "Passwords do not match!";

        }
    }
}

function conServer() {
    $user_name = ""; //not displayed for privacy purposes
    $password = ""; //not displayed for privacy purposes
    $database = ""; //not displayed for privacy purposes
    $server = "localhost";
    $table = "users";

    $db_handle = mysql_connect($server, $user_name, $password);
    $db_found = mysql_select_db($database, $db_handle);

    return $db_found;
}


?>

<html>
<head>
    <link rel=stylesheet href="login.css" />
</head>

<body class="login">
    <div id="login">

    <form id="loginform" action="create.php" method="post">
    <p>
        <label for="username">
        Username *
        <br>
        <input type="text" name="username" id="username"/><span class="error"><?php echo $errormsg; ?></span>
        </label>
    </p>

    <p>
        <label for="password">
        Password *
        <br>
        <input type="password" name="password" id="password"/><span class="error"><?php echo $errormsg; ?></span>
        </label>
    </p>

    <p>
        <label for="password">
        Confirm Password *
        <br>
        <input type="password" name="conpassword" id="password"/><span class="error"><?php echo $errormsg; ?></span><span class="error"><?php echo $passerr; ?></span>
        </label>
    </p>

    <p>
        <label for="email">
        Email *
        <br>
        <input type="text" name="email" id="email" /><span class="error"><?php echo $errormsg; ?></span>
        </label>
    </p>

    <input type="submit" id="submit" value="Go ->"/>
    </form>
    </div>
</body>
</html>
$db_found2=conServer();
如果($db_found2){
如果(!empty($_POST['username'])| |!empty($_POST['password'])| |!empty($_POST['email']))| |!empty($_POST['conpassword'])){
$username=$_POST['username'];
$password=$_POST['username'];
$conpassword=$_POST['conpassword'];
$email=$_POST['email'];
如果($password!=$conpassword){
$errormsg=“”;
$passer=“密码不匹配!”;
}
}
}
函数保守者(){
$user_name=“”;//不显示用于隐私目的
$password=”“;//不显示用于隐私目的
$database=”“;//不显示用于隐私目的
$server=“localhost”;
$table=“用户”;
$db\u handle=mysql\u connect($server、$user\u name、$password);
$db\u found=mysql\u select\u db($database,$db\u handle);
返回找到的$db_;
}
?>

用户名*

密码*

确认密码*

电子邮件*


顶部的脚本可能有错误,导致脚本终止。如果“错误报告”处于禁用状态,则只会得到一个白色页面

如何启用:

还要检查设置:


嗯,乍一看,我看到的唯一的东西是微不足道的,一个缺失的';'在“$passer=”密码不匹配!”行的末尾。 请进行一些调试,并在此处共享结果。
我想在调用函数后回显$db_found2变量之类的东西,只是想知道您在哪里卡住了。

在调用函数之前,您可能需要将函数移到顶部?您缺少了一个“;”。我最初在顶部的函数外有它,并认为它可能会导致错误,所以我将它放在函数中。我认为下面的答案是正确的。我将这两行添加到文件的顶部,但我仍然只得到一个空白的白页。谢谢您的建议。尝试回显$db_found2变量,但未显示任何结果。我对此感到很困惑。我只是在学习PHP,但创建了一个成功的脚本,我用完全相同的方式做了所有事情。嗯,从这一点来看,我认为你的函数有一个错误。mysql_select_db()应返回true或false。继续调试,可能使用了错误的值进行连接。使用您知道如何连接到的DB尝试此代码。考虑阅读这个页面,有一些有价值的信息:我从使用函数切换。不过我还是让它起作用了。我不确定是什么错误。我只是把整件事都注释掉了,然后一行一行地添加了echo和未注释的内容。太好了,总是从广泛的调试开始。不过,你应该能赞扬我的帮助^^
error_reporting(E_ALL | E_STRICT);
ini_get('display_errors');