簡體   English   中英

如果從 <option>標簽

[英]Detect an error if the value is removed from the <option> tag

我正在嘗試新創建的腳本,但發現了一個問題。 如何檢測<option>標記中的value屬性是否已刪除? 我有以下腳本:

if (isset($_POST['day']) && !empty($_POST['day'])) {
  if ($_POST['day'] === 'pirmadienis') {
    echo 'Laugh on Monday, laugh for danger.';
  } elseif ($_POST['day'] === 'antradienis') {
      echo 'Laugh on Tuesday, kiss a stranger.';
  } elseif ($_POST['day'] === 'treciadienis') {
      echo 'Laugh on Wednesday, laugh for a letter.';
  } elseif ($_POST['day'] === 'ketvirtadienis') {
      echo 'Laugh on Thursday, something better.';
  } elseif ($_POST['day'] === 'penktadienis') {
      echo 'Laugh on Friday, laugh for sorrow.';
  } elseif ($_POST['day'] === 'sestadienis') {
      echo 'Laugh on Saturday, joy tomorrow.';
  }
} else {
  echo '<form action="" method="POST">
        <label for="day">Pasirinkite bet kurią dieną </label> 
        <select name="day">
          <option value="pirmadienis">Pirmadienis</option>
          <option value="antradienis">Antradienis</option>
          <option value="treciadienis">Trečiadienis</option>
          <option value="ketvirtadienis">Ketvirtadienis</option>
          <option value="penktadienis">Penktadienis</option>
          <option value="sestadienis">Šeštadienis</option>
        </select>
        <input type="submit" value="Tęsti">
        </form>';
}

if (isset($_POST['day']) && empty($_POST['day'])) {
  echo 'Pasirinkite dieną!';
}

例如,我們使用inspect元素刪除了value屬性:

<option>Pirmadienis</option>

並提交表格。 我們沒有收到任何錯誤,表單由於以下if語句而消失:

if (isset($_POST['day']) && !empty($_POST['day'])) {

的確如此,因此不會執行else但是也找不到$_POST['day']數組的值。 因此,如何使用PHP檢測用戶已刪除value屬性?

如果刪除value屬性,則默認為選項的文本。 您應該在所有可能值的測試末尾放置else子句,並在其中打印錯誤。

  if ($_POST['day'] === 'pirmadienis') {
    echo 'Laugh on Monday, laugh for danger.';
  } elseif ($_POST['day'] === 'antradienis') {
      echo 'Laugh on Tuesday, kiss a stranger.';
  } elseif ($_POST['day'] === 'treciadienis') {
      echo 'Laugh on Wednesday, laugh for a letter.';
  } elseif ($_POST['day'] === 'ketvirtadienis') {
      echo 'Laugh on Thursday, something better.';
  } elseif ($_POST['day'] === 'penktadienis') {
      echo 'Laugh on Friday, laugh for sorrow.';
  } elseif ($_POST['day'] === 'sestadienis') {
      echo 'Laugh on Saturday, joy tomorrow.';
  } else {
      echo 'Pasirinkite dieną!';
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM