我的HTML数据未显示在数据库中

德拉利克斯

我一直试图让我的HTML表单提交到指定的数据库。我已经尝试了所有我知道的一切,但仍然没有结果,但似乎无法得到该错误。

HTML格式

    <form action = "connect.php" method = "post">
        <br>
        <br>
        <br>

        <h5 style ="color:White;" style="font-family:verdana" align = "center"><font size = "2">

        <fieldset >
            <legend>Personal information:</legend>
            First name: <br>
            <input type = "text" name ="firstname">
            <br>
            Last name: <br>
            <input type = "text" name ="lastname"><br>
            Username: <br>
            <input type = "text" name = "username"><br>
            Password <br>
            <input type = "password" name ="password"><br>
            School <br>
            <input type = "text" name ="school"><br>
            Department <br>
            <input type = "text" name ="department"><br>
            Year Of Study <br>
            <input type = "text" name ="studyYear"><br>
            Email <br>
            <input type = "text" name ="email"><br>
            Phone number <br>
            <input type = "text" name ="phoneNumber"><br><br>
            Gender <br>
            <input type = "radio" name = "gender" value ="male">Male<br>
            <input type = "radio" name = "gender" value ="female">Female<br>
            <input type = "radio" name = "gender" value ="male">Other<br>
            <br><br>
            <input type ="submit" value ="Insert">
            </h5>
        </fieldset>
    </h5>
    </form>

PHP CODE

<?php
// Connect to localhost
$connect = mysqli_connect('localhost', 'root', '', 'sigma');

if(!$connect) {
    echo("Didn\'t work ". mysqli_error());
}

// Get values from the form
$ID = $_POST['UserID'];
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$username = $_POST['username'];
$password = $_POST['password'];
$school = $_POST['school'];
$dept = $_POST['department'];
$studyYear = $_POST['studyYear'];
$email = $_POST['email'];
$phone = $_POST['phoneNumber'];

// SQL query to insert the data collected from the form into the database.
$sql = mysqli_query ($connect, 'INSERT INTO users (firstname, lastname, username, password, 
    school, department, studyYear, email, phoneNumber) 
VALUES ("'.$firstname.'", "'.$lastname.'", "'.$username.'","'.$password.'",
 "'.$school.'", "'.$dept.'", "'.$studyYear.'", "'.$email.'", '.$phone.')');


if ($sql)
{
echo 'Inserted';

}

else
{
echo 'Not Inserted';
}



mysqli_close($connect);

?>
里奥·费舍尔

该查询应该为您工作,就像Shudhansh一样,但是我将INSERT查询用双引号引起来,并删除了每个变量之间的串联,并将它们分别包装在了自己的单引号中:

$sql = mysqli_query ($connect,
"INSERT INTO users (firstname, lastname, username, password,
school, department, studyYear, email, phoneNumber) 
VALUES ('$firstname', '$lastname', '$username', '$password', '$school', '$dept', '$studyYear', '$email', '$phone')");

我在我的本地计算机上运行了它,并且运行正常。

另外,您的connect.php尝试从请求中获取$ _POST ['userID']',但您不会从表单中传递它,因此将其全部停止,您只需创建一个自动递增的ID为处理您的用户ID的主键。

如果以某种方式将其投入生产,出于明显的安全原因,我建议验证和清理数据并在密码上使用phps password_hashing函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章