用户注册表在提交后生成空白页

时间:2017-02-21 11:43:43

标签: php mysql

我正在尝试使用PHP和MySQL设置用户注册和登录。我似乎已经到了应该工作的地步,但是在实际单击“注册”按钮后,我正在努力获得除空白页以外的任何内容。我知道数据库连接正常,因为更改我的'db.php'文件中的凭据会导致错误。我试图让PHP显示错误,但无济于事,仍然是一个空白页面!

以下代码中是否存在可能导致问题的内容?有错误处理代码,无论注册成功与否,都应显示表单,但只显示空白。

<html>
<head>
    <title>Registration</title>
    <link rel="stylesheet" href="css/style.css" />
</head>

<body>

    <?php

    require('db.php');

    if (isset($_REQUEST['username'])) // If form submitted, insert values into the database.
    {

        $username = stripslashes($_REQUEST['username']); // removes backslashes
        $username = mysqli_real_escape_string($con,$username); //escapes special characters in a string

        $email = stripslashes($_REQUEST['email']);
        $email = mysqli_real_escape_string($con,$email);

        $password = stripslashes($_REQUEST['password']);
        $password = mysqli_real_escape_string($con,$password);

        $query = "INSERT INTO users (username, password, email) VALUES ('$username', '".md5($password)."', '$email')";

        $result = mysqli_query($con,$query);

        echo $result;

        if($result) {
            echo "<div class='form'><h3>You are registered successfully.</h3><br>Click here to <a href='login.php'>Login</a></div>";
        }
    } else {

    ?>
        <div class="form">
            <h1>Registration</h1>
            <form name="registration" action="" method="post">
                <input type="text" name="username" placeholder="Username" required />
                <input type="email" name="email" placeholder="Email" required />
                <input type="password" name="password" placeholder="Password" required />
                <input type="submit" name="submit" value="Register" />
            </form>
        </div>
    <?php } ?>

</body>

2 个答案:

答案 0 :(得分:0)

感谢RiggsFolly给我的一些错误报告,我设法看到电子邮件地址的列名不正确。解决这个问题解决了我的问题。

方便小费。谢谢。

答案 1 :(得分:0)

这是错误的。

if (isset($_REQUEST['username'])) 

您正在提交表单,并且REQUEST变量中应该有表单的名称。这样做

虽然它应该是

if (isset($_REQUEST['registration']))

或者

if (isset($_POST['submit'])) 
{
    $username = stripslashes($_POST['username']); 

    $email = stripslashes($_POST['email']);

    $password = stripslashes($_POST['password']);