0

フォームを含む非常に単純な HTML ページを実行しています。POST メソッドでデータを送信し、PHP ページで処理します。すべての入力が満たされているかどうかを確認する単純な if ステートメントを作成しました。そうでない場合、return は false です。

問題は、一部の入力が入力されていない場合、それらのフィールドが PHP ページで入力されたように動作し、if ステートメントが TRUE を返し、PAGE が処理を続行することです。私が間違ったことをしましたか?

HTML:

<form class="add_content grid_12 alpha" enctype="multipart/form-data"
    method="POST" action="add_content_2.php" name="excersise_upload">
      <ul>
        <li>
          <label for="excersise_name">Název cviku:</label><br />
          <input type="text" name="excersise_name" id="excersise_name">
        </li> 

        <li>
          <label for="selected_part">Partie cviku:</label><br />
          <select name="selected_part" id="selected_part">
          <?php
            get_parts();
          ?>
          </select>
        </li>

        <li>
          <label for="selected_difficulty">Vyber obtížnost cviku:</label>
          <br />
          <select name="selected_difficulty" id="selected_difficulty">
            <option value="1">začátečník</option>
            <option value="2">mírně pokročilý</option>
            <option value="3">pokročilý</option>  
          </select>
        </li>

        <li>
          <label for="excersise_info">Popis cviku:</label><br />
          <textarea name="excersise_info" id="excersise_info"></textarea>              
        </li>

        <li>
          <input name="MAX_FILE_SIZE" value="102400" type="hidden">
          <input type="file" name="excersise_image" accept="image/jpeg">
        </li>

        <li>
          <label for="image_name">Název obrázku:</label><br />
          <input type="text" name="image_name" id="image_name">
        </li>

        <li>
          <input type="submit" value="Přidat do databáze">
        </li>
      </ul>            
    </form>

PHP:

if ((isset($_POST['excersise_name'])) &&
        (isset($_POST['selected_part'])) &&
        (isset($_POST['selected_difficulty'])) &&
        (isset($_POST['excersise_info'])) &&
        (isset($_FILES['excersise_image'])) &&
        //(isset($_FILES['image_name'])) &&
        $_FILES['excersise_image']['size'] > 0) {.....
4

4 に答える 4

0

使用しvar_dump($_POST['field_name'])ます。フィールドが空として送信された場合に何が来るかを確認します。trim($_POST['field_name'])そして、フォームが次のように送信されたときにスペースが来る場合は、カットするのが好きな場合にチェックを追加します

 if(trim($_POST['field_name'])!=''){
    //Proced
 }
 else{
  //Do not proced
 }
于 2013-06-07T09:54:19.303 に答える
0

isset空かどうかではなく、存在するかどうかをチェックします。と の組み合わせを使用して、設定されているかどうか、issetおよび!= ''空でないかどうかを確認します。例えば

if ((isset($_POST['myThing'])) and (trim($_POST['myThing']) != ''))
{
    // Ready to go
}
于 2013-06-07T09:54:25.480 に答える