繁体   English   中英

PHP将空白信息发送到数据库

[英]PHP sending blank information to the database

我正在将Unity表单与PHP结合使用,以将数据发送到数据库,我可以成功地在其中输入信息并到达数据库,但是问题是,如果字段为空,它也会发送数据。

我正在尝试使用isset方法来防止这种情况,但是它似乎没有用。 有人可以为我再次检查吗?

到达数据库的数据图像

在此处输入图片说明

统一形式的形象

在此处输入图片说明

<?php

    if(!isset($_POST['usernamePost'], $_POST['passwordPost'], $_POST['emailPost']))
    {
        echo "This is not working";
    }
    else
    {
    //Enter the data into the database
    $username = filter_var($_POST['usernamePost'], FILTER_SANITIZE_STRING);
    $password = filter_var($_POST['passwordPost'], FILTER_SANITIZE_STRING);
    $email = filter_var($_POST['emailPost'], FILTER_SANITIZE_STRING);

    //variable for connection
    $servername = "localhost";
    $server_username = "root";
    $server_password = "";
    $dbName = "ontrigger_game";

        try
        {
            //connection to the database
            $dbhandle = mysqli_connect($servername, $server_username, $server_password) 
              or die("Unable to connect to MySQL");
            echo "Connected to MySQL<br>";

            //select a database to work with
            $selected = mysqli_select_db($dbhandle, $dbName)
                    or die("Could not select database");

            $sql = "INSERT INTO users (username, password, email)
                VALUES ('".$username."','".$password."','".$email."')";
            if(!mysqli_query($dbhandle, $sql))
            {
              die('Error: ' . mysqli_error());
            }
            echo "1 record added";

            //close the connection
            mysqli_close($dbhandle);

        } 
        catch (Exception $ex) 
        {

        }
    }
?>

您还应该使用empty()方法检查其是否为空

if (!isset($_POST['usernamePost']) && empty($_POST['usernamePost'] )) {

// error message here

} else {

// What you want to do if not empty and is set.

}

注意:请使用&&运算符,而不要使用逗号

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM