无法将数据从用户表单发送到PHP中的数据库

时间:2018-09-09 21:21:12

标签: php mysql

我正在用PHP创建一个简单的注册表单程序,该程序基本上从表单读取输入并将其发送到数据库。我在从数据表单读取数据时遇到了一些问题:

这是具有以下形式的CSS部分:

<form class="signup-form" action="include/signup.inc.php" method="POST">
    <input type="text" name="first" placeholder="Firstname">
    <input type="text" name="last" placeholder="Lastname">
    <input type="text" name="email" placeholder="E-Mail">
    <input type="text" name="uid" placeholder="Username">
    <input type="password" name="pwd" placeholder="Password">
    <button type="submit" name="submit">Sign Up</button>
</form>

这是应该从我的数据库发送所有内容的部分:

<?php

if (isset($_POST['submit'])) {

    include_once 'dbh.inc.php';

    $first = mysqli_real_escape_string($conn, $_POST['first']);
    $last = mysqli_real_escape_string($conn, $_POST['last']);
    $email = mysqli_real_escape_string($conn, $_POST['email']);
    $uid = mysqli_real_escape_string($conn, $_POST['uid']);
    $pwd = mysqli_real_escape_string($conn, $_POST['pwd']);


    //Error handlers
    //Check for empty fields
    if (empty($first) || empty($last) || empty($email) || empty($uid) || ($pwd)) {
        //header("Location: ../signup.php?signup=empty");
        echo "empty";
        exit();
    } else {
        //Other conditions...

基本上,第一个条件应检查用户是否要输入字段。如果字段为空,则将页面重定向到../signup.php?signup=empty(“ echo empty”行仅用于调试目的)。问题在于,即使我填写了所有字段,它也会始终检测到一个空字段,就好像脚本在从表单读取数据时遇到了问题。我希望我的解释很清楚,每一个建议都非常欢迎!

1 个答案:

答案 0 :(得分:1)

编辑:有人指出您忘记了empty()周围的$pwd。可能也是问题所在。

您是否尝试打印出$first或其他变量?我怀疑mysqli_real_escape_string返回null,这就是为什么if语句说它们为空。

我还会检查$_POST['form_item'],其中'form_item'是您的每个输入,只是看它们是否被正确发送。

但是,就像我说的那样,我怀疑真正的转义字符串函数正在返回null。看看documentation是不是正在发生。