3

このスクリプトでは、フィールドが空ではなく、電子メール アドレスが構文的に正しいかどうかを確認しています。基本的な合計の質問のために、フォームの下部にテキスト入力を追加する方法。たとえば(2+5)=、現在のスクリプトに検証要素を追加して、これが 7 に等しいかどうかを確認したい。

if (empty($name) || empty($phone) || empty($email) || empty($enquiry))
{
    echo "    * Sorry all fields are required.";
}
elseif(!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/", $email)) 
{
    print "<p>Sorry the email address you entered looks like it's invalid.</p>";
}
else
{
    mail($to, $sub, $mes, $headers);
    print "<p>Thank you ".$name." for contacting us.<br /><br />We will be in touch shortly.</p>"; 
}
4

2 に答える 2

1

1 セッションが開始されていない場合は、最初の行で使用します

session_start();

2 フォームが表示される前。このコードを追加します。また、セッションの開始も検証があるファイルにある必要があることに注意してください。

 $numa =  rand(1,5);
 $numb =  rand(0,4);
 $_SESSION['valid_res'] = $numa+$numb;

  echo "<p>To submit form please solve this equatation $numa + $numb = ?";
  echo '<input type="text name="result_val" />';

3 検証関数では、チェックする必要があります

  if(intval($_POST['resul_val']) != $_SESSION['valid_res'])
  {
     echo "sorry you put wrong result in validation form";
  }

ただし、私があなたならRECAPTCHAを使用します

于 2013-05-09T11:45:20.177 に答える