[英]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.