-6

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>
4

2 に答える 2

4

上部のスクリプトにエラーがあり、スクリプトが終了している可能性があります。エラー報告がオフの場合、表示されるのは白いページだけです。

エラー報告を有効にする方法:

error_reporting(E_ALL | E_STRICT);

また、display_errors設定を確認してください。

ini_get('display_errors');
于 2012-07-02T12:28:13.140 に答える
3

一見すると、私が見る唯一のものは些細なことであり、「;」がありません '$passerr = "パスワードが一致しません!"' 行の末尾。デバッグを行って、結果をここで共有してください。関数などを呼び出した後に $db_found2 変数をエコーするようなことを考えています。

于 2012-07-02T12:31:45.383 に答える