Php 如果从<;中删除该值,则检测错误;选项>;标签

Php 如果从<;中删除该值,则检测错误;选项>;标签,php,html,forms,post,Php,Html,Forms,Post,我正在尝试我新创建的脚本,发现了一个问题。如何检测标记中的值属性是否已删除?我有以下脚本: if (isset($_POST['day']) && !empty($_POST['day'])) { if ($_POST['day'] === 'pirmadienis') { echo 'Laugh on Monday, laugh for danger.'; } elseif ($_POST['day'] === 'antradienis') { ec

我正在尝试我新创建的脚本,发现了一个问题。如何检测
标记中的
属性是否已删除?我有以下脚本:

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ą!';
}
并提交表格。我们没有收到任何错误,表单因以下if语句而消失:

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

这是真的,因此不会执行
else
,但也找不到
$\u 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ą!';
  }

测试
if(isset($\u POST['day'])和&empty($\u POST['day']){
应该可以工作。是的,如果没有删除value属性,但是空
value=“”
,它就可以工作。但是,如果我们删除value属性
Pirmadienis
,它就不工作了:(谢谢你,让我开心一天:)
  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ą!';
  }