Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php &&;不适用于必填表单字段_Php_Forms_Validation - Fatal编程技术网

Php &&;不适用于必填表单字段

Php &&;不适用于必填表单字段,php,forms,validation,Php,Forms,Validation,我希望用户填写表单中提供的每个字段,并且不希望出现空输入,为了防止出现这种情况,我插入了很多&&来检查表单字段是否有用户提供的输入,但表单仍然接受空字段。请帮忙 if (isset($_POST['submit'])) { if (isset($_POST['pin']) && isset($_POST['amount']) && isset($_POST['purpose']) && is

我希望用户填写表单中提供的每个字段,并且不希望出现空输入,为了防止出现这种情况,我插入了很多&&来检查表单字段是否有用户提供的输入,但表单仍然接受空字段。请帮忙

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

    if (isset($_POST['pin']) &&
        isset($_POST['amount']) &&
        isset($_POST['purpose']) &&
        isset($_POST['email'])&&
        isset($_POST['pwd'])&&
        isset($_POST['fname']) &&
        isset($_POST['mname']) &&
        isset($_POST['lname']) &&
        isset($_POST['address']) &&
        isset($_POST['city']) &&
        isset($_POST['state']) &&
        isset($_POST['estatus']) &&
        isset($_POST['yincome']) &&
        isset($_POST['dob']))

    {
        $pin = get_post($conn, 'pin');
        $amount = get_post($conn, 'amount');
        $purpose = get_post($conn, 'purpose');
        $email = get_post($conn, 'email');
        $pwd = get_post($conn, 'pwd');
        $fname = get_post($conn, 'fname');
        $mname = get_post($conn, 'mname');
        $lname = get_post($conn, 'lname');
        $address = get_post($conn, 'address');
        $city = get_post($conn, 'city');
        $state = get_post($conn, 'state');
        $estatus = get_post($conn, 'estatus');
        $yincome = get_post($conn, 'yincome');
        $dob = get_post($conn, 'dob');


        $query = "INSERT INTO borrowers VALUES" .
            "('$pin', '$amount', '$purpose', '$email', '$pwd', '$fname', '$mname', '$lname', '$address', '$city', '$state', '$estatus', '$yincome', '$dob')";
        $result = $conn->query($query);
        if (!$result) echo "INSERT failed: $query<br>" . $conn->error . "<br><br>";
    }
}
if(isset($\u POST['submit']))
{
如果(isset($_POST['pin']))&&
isset($_POST['amount']))&&
isset($_POST['purpose']))&&
isset($_POST['email']))&&
isset($_POST['pwd']))&&
isset($_POST['fname']))&&
isset($_POST['mname']))&&
isset($\u POST['lname']))&&
isset($_POST['address']))&&
isset($_POST['city']))&&
isset($_POST['state']))&&
isset($_POST['estatus']))&&
isset($_POST['yincome']))&&
isset($_POST['dob']))
{
$pin=get_post($conn,'pin');
$amount=获取邮政($conn,'amount');
$purpose=get_post($conn,'purpose');
$email=get_post($conn,'email');
$pwd=get_post($conn,'pwd');
$fname=get_post($conn,'fname');
$mname=get_post($conn,'mname');
$lname=get_post($conn,'lname');
$address=get_post($conn,'address');
$city=get_post($conn,'city');
$state=get_post($conn,'state');
$estatus=get_post($conn,'estatus');
$yincome=get_post($conn,'yincome');
$dob=获得邮政($conn,'dob');
$query=“插入借款人价值”。
“(“$pin”、“$amount”、“$purpose”、“$pwd”、“$fname”、“$mname”、“$lname”、“$address”、“$city”、“$state”、“$estatus”、“$yincome”、“$dob”)”;
$result=$conn->query($query);
如果(!$result)回显“插入失败:$query
”$conn->error。“

”; } }
您应该将
isset
替换为
empty
,因为
isset
检查变量是否存在,而不是是否已填充。请参见以下内容:

之前:

isset($_POST['pin'])
之后:

!empty($_POST['pin'])
还有一件事:在sql查询中使用prepared语句。这将避免sql注入。请参阅此链接:


将它们存储在一个数组中,然后使用foreach循环检查该数组@WinSight的每个键上的isset条件