PHP 注册表未将用户添加到数据库

标签 php mysql forms xampp registration

我的 register.php 文件正在运行,但是当单击提交按钮时。这是我收到的错误消息

Notice: Use of undefined constant username - assumed 'username' in C:\xampp\htdocs\Hamza\register.php on line 18

您已注册!返回登录页面

但是它没有将任何用户添加到数据库中,我做错了什么?我认为 INSERT INTO users VALUES 中的某些内容不正确。我四处寻找并花了两个小时解决它,但无法找出问题所在。任何帮助都会有用,谢谢。

注册.php文件

 <?php
echo "<h1>Register</h1>";

$submit = @$_POST['submit'];

//form data
$fullname = strip_tags(@$_POST['fullname']);
$username = strip_tags(@$_POST['username']);
$password = strip_tags(@$_POST['password']);
$repeatpassword = strip_tags(@$_POST['repeatpassword']);
$date = date ("y-m-d");


if ($submit)
{

//check for existance
if ($fullname&&username&&$password&&$repeatpassword)
{

    if ($password==$repeatpassword)

    {

    //check char length of username and fullname
    if (strlen($username)>25||strlen($fullname)>25)
    {
    echo "Length of username or fullname is too long";
    }
    else
    {
        //check password length
        if (strlen($password)>25||strlen($password)<6)
    {
    echo "Password must be between 6 and 25 characters";
    }
    else
    {
    //register the user!

    // encrypt password
    $password = md5($password);
    $repeatpassword = md5($repeatpassword);

    //open database
    $connect = mysql_connect("localhost","root","");
    mysql_select_db("phplogin"); //select database

    $queryreg = mysql_query("


INSERT INTO users VALUES ('','".$fullname."','".$username."','".$password."','".$date."')
    ");

    die ("You have been registered! <a href='index.php'>Return to login page</a>");

    }

}


    }
    else
        echo "Your passwords do not match!";
}
else
    echo "Please fill in <b>all</b> fields!";

}

?>

<html>
<p>
<form action='register.php' method='POST'>
    <table>
        <tr>
            <td>
            Your full name:
            </td>
            <td>
            <input type='text' name='fullname' value='<?php echo $fullname; ?>'
            </td>
        </tr>
            <tr>
            <td>
            Choose a username:
            </td>
            <td>
            <input type='text' name='username' value='<?php echo $username; ?>'
            </td>
        </tr>
            <tr>
            <td>
            Choose a password:
            </td>
            <td>
            <input type='password' name='password'>
            </td>
        </tr>
        <tr>
            <td>
            Repeat your password:
            </td>
            <td>
            <input type='password' name='repeatpassword'>
            </td>
        </tr>
    </table>
    <p>
    <input type='submit' name='submit' value='Register'>

</form>

</html>

最佳答案

检查第 18 行:

if ($全名&&用户名&&$密码&&$重复密码)

您忘记为用户名添加$符号。

关于PHP 注册表未将用户添加到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27469678/

相关文章:

php - SQL:获取 null 作为与查询不匹配的行的返回值

php - 使用 Puppet 自动进行 Composer self 更新

mysql - 按组计算 SQL 中的百分比

mysql - 左连接查询不起作用

php - 从变量中创建一个数组并根据其中一个变量更新其内容

php - Ajax 脚本未加载任何内容且未发送任何请求

php - 非常简单的查询占用过多资源

javascript - 如何从脚本提交表单

python - 使用 Mechanize 提交表单 (Python)

php - textarea 中的输入不会在 mysql 表中更新