2017-02-26 2 views
1

を働いていない私は、フォームのすべてのフィールドを記入し、私が提出するならば、私はPHP他にあれば、このシナリオで

を「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> 

どのようなクエリについても、下記にご意見ください。

+0

これをすべて2回行うのではなく、外側のifで '!empty()'を実行し、その代わりにelseを使用してください。フォームが提出されている限り、最初のifは常に真です。 – Qirel

+3

そして 'replaced_word'!= replace_word' – Qirel

+0

私は間違いを認識しました。 :) –

答えて

1

あなたが見逃しているいくつかの文字は

isset($_POST['replaced_word']) 

あなたは、あなたが「replaced_word」を書いた場合は、最初にこの

isset($_POST['replace_word']) 
1

あなたの最初の「if」には「else」が必要ですが、あなたのシナリオではそれが引き起こされると思います。

私は一般的にこれらを分離してみて、1つの大きなIFに入れないでください。例えばの場合は、issetとifをそれぞれ別々に行い、それに応じて異なる変数に変換します。論理。ここ

1

field.like入力に使用するのと同じ名前を使用する必要がありますが、入力タグの名前は "d"のない "replace_word"です。だから、$ _POST ['replaced_word']は決して設定されていないので、動作しません。

関連する問題