2016-07-31 3 views
0
   <?php 
         $a=rand(1,10); 
         $b=rand(1,10); 

       ?> 

      <form action="1.php" method="get"> 

      <?php 
      echo 'enter the value of<br>'; 
       echo $a.'+'.$b; 
       ?> 
       <input type="text" name="sum"> 
       <input type="submit" name="submit"> 

       </form> 

が動作していません次のa + bの値PHPコードにrand関数を使用してキャプチャをしようとすると、私はrand関数のPHPを使用してキャプチャを作成したいが、それはチェック提出hitingのように、このコードが...私に望ましい結果を与えていない

+0

「1.php」はどこですか? –

+0

このファイルは1.php @RussianSoyuzRocket –

+0

randから取得した値を保存する必要があります。 – brianxautumn

答えて

0

別のアクションファイルを作成するか、if (isset($_GET["submit"]) { }ブロックを追加してフォームの検証を行います。基本的にはあなたのPHPの一部は、次のようになります。$a$bsum

<?php 
    $a=rand(1,10); 
    $b=rand(1,10); 

    if (isset($_GET["submit"]) { 
     //this is the validation block 
    } 

?> 

すべて1.phpまたは検証ブロックに3を提出する必要があります。あなただけのフォームに2つの以上の要素を追加し、アクションファイルにbを$ aと$を提出する方法がわからない場合:

<input type="text" name="operand1" value="<?php echo $a; ?>"> 
<input type="text" name="operand2" value="<?php echo $b; ?>"> 

比較if ($_GET['sum'] == $_GET['operand1'] + $_GET['operand2'])1.php中または検証ブロックで行う必要があります。

最後に、このためにPOSTメソッドを使用することは賢明でしょう。 GETメソッドはURLを使用してパラメータを格納します(url?var1 = x & var2 = yなど)。 POSTメソッドは、HTTPリクエストの一部として変数を送信し、ユーザーには表示されません(ただし、セキュリティポイントからは完全ではありませんが、読み込む方法はまだあります)。

自分で作成する代わりに、Captchaのテンプレートを使用することをおすすめします。既に使用可能な安全なテンプレートがあります。例はhttps://www.phpcaptcha.orgです。

関連する問題