php - 通过php注册用户,但遇到问题

标签 php html mysql

这主要是另一双眼睛,因为我看不到任何错误,而且它没有发布任何错误。我正在尝试使用 PHP/SQL 创建用户注册表单作为作业的一部分,但是当我点击注册时,它没有显示任何内容,只是一个空白页面。在修复连接之前,它会显示通用的“无法连接到数据库”。

这是我的 HTML 和 PHP。

PHP

<?php

define('DB_HOST', 'localhost');
define('DB_NAME', 'users');
define('DB_USER', 'twisted');
define('DB_PASSWORD', '********');

$con = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die ("Failed to connect to MySQL: " . mysql_error());
$db = mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " .mysql_error());


function CreateUser() {
    $fname = $_POST['fname'];
    $sname = $_POST['sname'];
    $username = $_POST['uname'];
    $email = $_POST['email'];
    $password = $_POST['passwd'];

    $query = "INSERT INTO users (fname,sname,username,email,passwd) VALUES ('$fname','$sname','$username','$email','$passwd')";
    $data = mysql_query ($query)or die(mysql_error());
    if($data)
    {
        echo "Your registration was successful";
    }
}

function SignUp() {
    if(!empty($_POST['username'])) {
        $query = mysql_query("SELECT * FROM users WHERE username =  '$_POST[username]' AND pass = '$_POST[passwd]'") or die(mysql_error());

    if(!$row = mysql_fetch_array($query) or die (mysql_error()))
    {
        CreateUser();
    } else {
        echo "You are already a registered user";
    }
}
}

if(isset($_POST['submit'])) {
    SignUp();
}

?>

注册表

                            <form id="register-form" action="/includes/connect.php" method="post" role="form" style="display: none;">
                            <div class="form-group">
                                <input type="text" name="fname"tabindex="1" class="form-control" placeholder="First Name" value="">
                            </div>
                            <div class="form-group">
                                <input type="text" name="sname""abindex="1" class="form-control" placeholder="Last Name" value="">
                            </div>
                            <div class="form-group">
                                <input type="text" name="uname" tabindex="1" class="form-control" placeholder="Username" value="">
                            </div>
                            <div class="form-group">
                                <input type="text" name="email" tabindex="1" class="form-control" placeholder="Email" value="">
                            </div>
                            <div class="form-group">
                                <input type="password" name="passwd"  tabindex="2" class="form-control" placeholder="Password">
                            </div>
                            <div class="form-group text-center">
                                <input type="checkbox" tabindex="3" class="" name="remember" id="remember">
                                <label for="remember"> Remember Me</label>
                            </div>
                            <div class="form-group">
                                <div class="row">
                                    <div class="col-sm-6 col-sm-offset-3">
                                        <input type="submit" name="submit" id="login-submit" tabindex="4" class="form-control btn btn-login" value="Log In">
                                    </div>
                                </div>
                            </div>
                            <div class="form-group">
                                <div class="row">
                                    <div class="col-sm-6 col-sm-offset-3">
                                        <input type="submit" name="register-submit" id="register-submit" tabindex="4" class="form-control btn btn-register" value="Register Now">
                                    </div>
                                </div>
                            </div>
                        </form>

编辑:数据库存在,这些是字段。

https://gyazo.com/d20200fdc5bd3648484f27448aaccc96

最佳答案

您还初始化了 $password = $_POST['passwd'];,但在查询中错误地使用了它并插入了 $passwd 而不是 $密码

$query = "INSERT INTO users (fname,sname,username,email,passwd) VALUES ('$fname','$sname','$username','$email','$passwd')";

关于php - 通过php注册用户,但遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39962135/

相关文章:

html - 链接到页面的特定区域?

php,mysql准备好的语句

mysql - 无法打开 SonarQube 页面

php - 浏览器中的字符不正确

php - 如何为 php mysql 驱动的数据库生成下一个 ID 号

javascript - 如何获取将数据提供给 div 的样式的值? [MyShop电子商务]

MySQL 错误 0 : Retrieval of the RSA public key is not enabled for insecure connections

php - 修复configuration.php后joomla数据库连接错误(2)

php - 在 Laravel 5.4 中将空值转换为空字符串

html - 日语文本无法正确显示