1

同様の質問を探しましたが、特定のケースが見つかりませんでした。

私が持っているフォーム内で PHP Captcha プラグインを使用しています。間違ったキャプチャ エントリと正しいキャプチャ エントリを非常によく似た方法で処理します。ユーザーのフレーズが正しければ、JavaScript の「成功」アラートをスローし、フォームの電子メールを送信してから、最後のページに送り返します。間違っている場合は、javascript の「間違った」アラートをスローし、最後のページに送り返します。

私の問題-それらが正しくない場合は、キャプチャを更新する必要があります。キャプチャエントリが正しくないと、別の試行のために常に画像を更新する必要があるためです。また、それらが正しい場合はフィールドをクリアしたいが、正しい場合にのみクリアし、間違っている場合はフォームデータを保持したい。これどうやってするの?

ここに私のPHPキャプチャコードがあるので、私の試みを見ることができます. HTMLが必要な場合はお知らせください...(また、POSTの前にJSですべてのエントリをチェックしました)

<?php
/*set email*/
  $myemail  = "email@email.com";

  /* Check all form inputs using check_input function */
$name = $_POST['name'];
$companyName  = $_POST['companyName'];
$phone    = $_POST['phone'];
$email  = $_POST['email'];
$TimeForContact   = $_POST['TimeForContact'];
$aval = $_POST['aval'];
$messageFromFrom = $_POST['message'];
$firstTime = $_POST['firstTime'];
$subject = "Some Subject";

  require_once('recaptcha-php-1.11/recaptchalib.php');
  $privatekey = "*someprivatekey*"; //I took this out for the question
  $resp = recaptcha_check_answer ($privatekey,
                                $_SERVER["REMOTE_ADDR"],
                                $_POST["recaptcha_challenge_field"],
                                $_POST["recaptcha_response_field"]);

  if (!$resp->is_valid) {
    // What happens when the CAPTCHA was entered incorrectly

echo '<script type="text/javascript"> alert ("You have inserted the wrong phrase in the Captcha box. Please try again! Thank you."); window.history.back();</script>';
          exit();

  } else {

  $message = "some message

End of message
";

/* Send the message using mail() function */
mail($myemail, $subject, $message);

          echo '<script type="text/javascript"> alert ("Success! You have emailed your submission. Please await our response. Thank you."); window.history.back()</script>';


exit();
  }

?>

私はもともと次のように、JSを介してページをリロードしようとしました:

window.reload(history.back());

また

window.location.reload(history.go(-1));

どちらか + それに似た複数の組み合わせでは成功しません。

質問を繰り返します:
必要に応じてフォーム/キャプチャを更新するにはどうすればよいですか

また

キャプチャ フォームを送信するための実践的な行動は何ですか?

ありがとうございました。

4

1 に答える 1