Php 验证始终显示“输入所有字段”

Php 验证始终显示“输入所有字段”,php,Php,问题是,每当我加载页面时,我总是要输入所有字段,不管怎样,当我第一次加载页面时,是否有方法绕过这些字段 <form action="brand_upload.php" method="post" enctype="multipart/form-data"> <label for="file">Filename(logo):</label> <input type="file" name="file" id="file"><br> &

问题是,每当我加载页面时,我总是要输入所有字段,不管怎样,当我第一次加载页面时,是否有方法绕过这些字段

<form action="brand_upload.php" method="post" enctype="multipart/form-data">

<label for="file">Filename(logo):</label>
<input type="file" name="file" id="file"><br>

<br>Brand:<input type="text" name="brand">
<br>Serial No.:<input type="text" name="serial_number">
<input type="submit" name="submit" value="Submit">


<?php
if (isset ($_POST['submit']) && isset($_POST['brand']) && isset($_POST['serial_number']) && !empty($_POST['brand']) && !empty($_POST['serial_number'])){
{
  echo 'do something';
}
else
{
  echo '<br>enter all fields';
}
?>

</form>

文件名(徽标):


品牌:
序列号:
您的
php
代码应该在
brand\u upload.php
中,而不是在此文件中。

您可以检查请求方法是否为post

<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
if (isset ($_POST['submit']) && isset($_POST['brand']) && isset($_POST['serial_number']) && !empty($_POST['brand']) && !empty($_POST['serial_number'])){
{
  echo 'do something';
}
else
{
  echo '<br>enter all fields';
}
}
?>

用以下内容包装所有PHP代码:

if (!empty($_POST)) {
  ...
}

它显示“输入所有字段”,因为您在第一次加载页面时检查字段是否已填充。您应该在brand_upload.php中检查表单验证。

这是正确的顺序:

  • 首先,检查是否单击了提交按钮
  • 然后,检查
    品牌
    序列号
    字段是否不为空
  • 最后,打印结果

  • if(isset($\u POST['submit'])){
    如果(!empty($_POST['brand'])和&!empty($_POST['serial_number'])){
    回声“做点什么”;
    }否则{
    回显“
    输入所有字段”; } }
    将您的
    if
    语句一分为二。将第一个作为
    if(isset($\u POST['submit'])
    查看表单是否已提交;如果已提交,请包含其余代码。我已将代码分解为两个“if:”)。thnks:)此文件可能是brand_upload.phpif。如果是,我建议将操作与此文件分开,它更干净。您确定此文件不是brand_upload.php吗?
    if(isset ($_POST['submit'])){
        if (!empty($_POST['brand']) && !empty($_POST['serial_number'])){
            echo 'do something';      
        }else{
            echo '<br>enter all fields';      
        }
    }