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条件