私がPHPに慣れていないので、これがばかげた質問であれば、私を許してください。私は何年か前にC++をやっていて、C#でUnityをやっています。
私はreCaptchaで働いている働くhtml/js/php連絡フォームを取得しようとしています。 captchaがチェックされ、「成功」というメッセージが表示されていれば、フォームは正常に機能します。キャプチプがチェックされていない場合は、メッセージを表示してフォーム電子メールを送信しません。以下のコードスニペットは、キャプチャがチェックされていないのに電子メールが送信されない限りメッセージは表示されません。誰も助けることができますか?
$okMessage = 'Contact form successfully submitted. Thank you, we will get back to you soon!';
$captchaMessage = 'There was an error while submitting the form. Please check the captcha box.';
$spamMessage = 'There was an error while submitting the form. Spamers not welcome.';
$captcha = $_POST['g-recaptcha-response'];
try
{
//Sanitise Inputs
$emailText = "You have new message from contact form\n=============================\n";
$emailText .= "First Name: " . @trim(stripslashes($_POST['name'])). "\n";
$emailText .= "Last Name: " . @trim(stripslashes($_POST['surname'])). "\n";
$emailText .= "Company: " . @trim(stripslashes($_POST['company'])). "\n";
$emailText .= "Email: " . @trim(stripslashes($_POST['email'])). "\n";
$emailText .= "Message: " . @trim(stripslashes($_POST['message'])). "\n";
if(!$captcha){
$responseArray = array('type' => 'danger', 'message' => $captchaMessage);
exit;
}
$secretKey = "secret_key";
$ip = $_SERVER['REMOTE_ADDR'];
$response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$secretKey."&response=".$captcha."&remoteip=".$ip);
$responseKeys = json_decode($response,true);
if(intval($responseKeys["success"]) !== 1) {
$responseArray = array('type' => 'danger', 'message' => $spamMessage);
} else {
mail($sendTo, $subject, $emailText, "From: " . $from);
$responseArray = array('type' => 'success', 'message' => $okMessage);
}
}
あなたのcaptchaの応答は何ですか? – boroboris