php如果不在这种情况下工作

时间:2017-02-26 16:52:39

标签: php html forms

我编写了一个代码,如果我填写表单的所有字段并提交,那么我应该得到" Ok"

如果我将表单留空,那么我应该得到"请填写所有字段"。

我没有收到任何错误,所以我很困惑如何继续。

<?php

   if(isset($_POST['submit_text']) && isset($_POST['find_word']) && isset($_POST['replaced_word'])){
       $sub_text = $_POST['submit_text'];
       $fin_text = $_POST['find_word'];
       $rep_text = $_POST['replace_word'];
       if(!empty($sub_text )&& !empty($fin_text) && !empty($rep_text)){
           echo "Ok.";
       }else{
           echo "Please fill all fields.";
       }
   }
?>
<html>
  <head>
  </head>
  <body>
  <form id="myForm" name="myForm" action="index.php" method="post" >
   <p>
      Submit Text<br/>
      <textarea rows="5" cols="40" type="text" id="submit_text" name="submit_text" ></textarea>
   </p>
   <p>
      Find<br/>
      <input id="find_word" name="find_word" type="text"  />
   </p>
   <p>
      Replace<br/>
      <input id="replace_word" name="replace_word" type="text" />
   </p>
   <input id="submit" name="submit" type="submit" value="Submit" />
  </form>
  </body>
</html>

如有任何疑问,请在下方发表评论。

3 个答案:

答案 0 :(得分:1)

你的第一个&#34; if&#34;需要一个&#34;否则&#34;,我认为它会在你的场景中触发它。

我通常尝试将它们分开,并且不要将它们放入一个大的IF中。 例如,我会单独执行if isset和else,在执行其余逻辑之前相应地转换为不同的变量。

答案 1 :(得分:1)

你错过了几个角色

isset($_POST['replaced_word'])

你必须使用你在输入字段中使用的相同名称。比如

isset($_POST['replace_word'])

答案 2 :(得分:1)

在第一个if中,你写了“replacement_word”,但输入标签的名称是“replace_word”而没有“d”。所以$ _POST ['replacement_word']永远不会被设置,这就是为什么它不起作用。