检查php中的文本框是否为空


checking to see if a text box is empty in php

我有一个php/html,用户在其中输入一些值,然后使用mysqli和插入查询将这些值更新到数据库中。如果用户没有在任何文本框中输入任何内容,我希望出现一条消息,说信息不在那里,我已经尝试使用

if($ownerName == "" ){
    echo("Missing Information!"); 

但它不会起作用。

这是我的php代码

<?php
include "connect.php";
if($_POST["submit"])
{
    $ownerName = $_POST['OwnerName'];
    $location = $_POST['Location'];
    $phoneNumber = $_POST['PhoneNumber'];
   if($ownerName == "" || $location == "" || $phoneNumber == ""){
    echo("Missing Information!");
    /*if(is_numeric($phoneNumber) ){
                        settype($phoneNumber, "integer");
            }*/
 
    $query = "INSERT INTO OWNER VALUES ('$ownerName','$location', $phoneNumber)";

    if (!mysqli_query($con,$query))
    {
        die('Error: ' . mysqli_error($con));
    }
    echo "<script type='text/javascript'>alert('1 record added')</script>";
    
    mysqli_close($con); 
}
?>

这是我的表格

<html><head><title>Connect to Database</title></head><body> 
<font size="4"> Enter owner details</font><br><br> 
<form action="update.php" method="post" >
Owner Name:<input  type="text" name="OwnerName"> 
Location: <input  type="text" name="Location"> 
Phone Number:<input  type="text" name="PhoneNumber"> 
<input type="submit" name = "submit" value="Submit Value"> 
</form></body></html>

试试这个:

if((!isset($ownerName)) || $ownerName == "" || (!isset($location)) || $location == "" || (!isset($phoneNumber)) || $phoneNumber == "")){
    echo("Missing Information!");
    /*if(is_numeric($phoneNumber) ){
                        settype($phoneNumber, "integer");
            }*/
}
    else{
    $query = "INSERT INTO OWNER VALUES ('$ownerName','$location', $phoneNumber)";


if (!mysqli_query($con,$query))
{
    die('Error: ' . mysqli_error($con));
}
echo "<script type='text/javascript'>alert('1 record added')</script>";

mysqli_close($con); 
        }

试试这个

从更改您的条件

 if($ownerName == "" || $location == "" || $phoneNumber == ""){
    echo("Missing Information!");
$query = "INSERT INTO OWNER VALUES ('$ownerName','$location', $phoneNumber)";


    if (!mysqli_query($con,$query))
    {
        die('Error: ' . mysqli_error($con));
    }
    echo "<script type='text/javascript'>alert('1 record added')</script>";

    mysqli_close($con); 
}

 if($ownerName == "" || $location == "" || $phoneNumber == ""){
    echo("Missing Information!");
    } else {
$query = "INSERT INTO OWNER VALUES ('$ownerName','$location', $phoneNumber)";


    if (!mysqli_query($con,$query))
    {
        die('Error: ' . mysqli_error($con));
    }
    echo "<script type='text/javascript'>alert('1 record added')</script>";

    mysqli_close($con); 
}                                     
<?php
    include "connect.php";
    if(isset($_POST["submit"]))
    {
        $ownerName = isset($_POST['OwnerName']) ? $_POST['OwnerName']: '';
        $location =  isset($_POST['Location']) ? $_POST['Location']: '';
        $phoneNumber = isset($_POST['PhoneNumber']) ? $_POST['PhoneNumber']: '';
        //preventing sql injection
        /*
          $ownerName = mysqli_real_escape_string($con, $ownerName);
          $$location = mysqli_real_escape_string($con, $ownerName);
          $$phoneNumber = mysqli_real_escape_string($con, $ownerName);
         */
        if(empty($ownerName) || empty($location) || empty($phoneNumber)){
            echo("Missing Information!");
            /*if(is_numeric($phoneNumber) ){
             settype($phoneNumber, "integer");
             }*/

        }else{
            $query = "INSERT INTO OWNER VALUES ('$ownerName','$location', $phoneNumber)";


            if (!mysqli_query($con,$query))
            {
                die('Error: ' . mysqli_error($con));
            }
            echo "<script type='text/javascript'>alert('1 record added')</script>";
        }
         mysqli_close($con);
    ?>

还可以尝试使用var_dump($_POST)查看发送的内容。

编辑:

我已经更新了if/else语句,所以现在它应该可以工作了。此外,请确保您已启用错误报告:

<?php
// Turn off error reporting
error_reporting(0);
// Report runtime errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// Report all errors
error_reporting(E_ALL);
// Same as error_reporting(E_ALL);
ini_set("error_reporting", E_ALL);
// Report all errors except E_NOTICE
error_reporting(E_ALL & ~E_NOTICE);
?>

试试这个

<?php
include "connect.php";
if($_POST["submit"])
{
    $ownerName = $_POST['OwnerName'];
    $location = $_POST['Location'];
    $phoneNumber = $_POST['PhoneNumber'];}
   if(empty($ownerName) && empty($location) && empty($phoneNumber))
{
    echo("Missing Information!");}
    /*if(is_numeric($phoneNumber) ){
                        settype($phoneNumber, "integer");
            }*/
 
else{
    $query = "INSERT INTO OWNER VALUES ('$ownerName','$location', $phoneNumber)";

    if (!mysqli_query($con,$query))
    {
        die('Error: ' . mysqli_error($con));
    }
    echo "<script type='text/javascript'>alert('1 record added')</script>";
    
    mysqli_close($con); 
}
?>

试试这个:

<?php
include "connect.php";
if($_POST["submit"])
{
 $ownerName = $_POST['OwnerName'];
 $location = $_POST['Location'];
 $phoneNumber = $_POST['PhoneNumber'];
 if($ownerName == "" || $location == "" || $phoneNumber == ""){
   echo("Missing Information!");
 }
 else{
 $query = "INSERT INTO OWNER VALUES ('$ownerName','$location',  $phoneNumber)";
   if (!mysqli_query($con,$query))
   {
    die('Error: ' . mysqli_error($con));
   }
   echo "<script type='text/javascript'>alert('1 record added')</script>";
 }
  mysqli_close($con); 
}   
?>
**Please replace your code from below code**
<?php
    include "connect.php";
    if($_POST["submit"])
    {
        $ownerName  = $_POST['OwnerName'];
        $location   = $_POST['Location'];
        $phoneNumber    = $_POST['PhoneNumber'];
        if($ownerName == "" || $location == "" || $phoneNumber == ""){
            echo("Missing Information!");
        } else {
            // please replace your column name (`owner_name`, `location`, `phone_number`) 
            $query = "INSERT INTO OWNER (`owner_name`, `location`, `phone`) VALUES ('" . $ownerName . "', '" . $location. "', " . $phoneNumber. ")";
            if (!mysqli_query($con, $query))
            {
                die('Error: ' . mysqli_error($con));
            }
            echo "<script type='text/javascript'>alert('1 record added')</script>";
            mysqli_close($con); 
        }
    }
    ?>

尝试使用empty()函数或isset()