Я пытаюсь создать простую форму контакта с captcha в php. Однако оказывается, что реализация captcha вне моей лиги.простой php captcha контактная форма
Я нашел простой ответ на аналогичную проблему stackoverflow opn, которая подтолкнула меня на 1 шаг ближе к концу, но снова я застрял.
Так что мне нужна контактная форма, которая проверяет только текст, и если на правильное ответное письмо отправлено письмо, письмо не является обязательным.
</br>
<?php
\t \t \t \t $a=rand(2,9);
\t \t \t \t $b=rand(2,9);
\t \t \t \t $c=$a+$b;
\t if (isset($_POST['contact_text']) && isset($_POST['contact_email'])) {
\t \t $contact_text = $_POST['contact_text'];
\t \t $contact_email = $_POST['contact_email'];
\t \t $recaptcha = $_POST['recaptcha'];
\t \t
\t \t $info = 'Pranešimas apie korupciją: ';
\t \t $sender = 'Atsiuntė: ';
\t \t \t
\t \t if (!empty($contact_text) && ($recaptcha == $c)) {
\t \t \t \t
\t \t echo $recaptcha;
\t \t
\t \t $to = '[email protected]';
\t \t $subject = 'Korupcija';
\t \t $body = $sender."\n".$contact_email."\n".$info."\n".$contact_text;
\t \t $headers = 'From: '.$contact_email;
\t \t
\t \t
\t \t if (@mail($to,$subject, $body, $headers)) {
\t \t \t echo 'Jūsų pranešimas sėkmingai išsiustas. ';
\t \t \t
\t \t } else {
\t \t } echo 'Įvyko klaida, bandykite dar karta.';
\t \t \t
\t \t } else {
\t \t \t echo 'Neteisingai užpildyta forma.';
\t \t \t } \t
\t }
?>
<form action="contact1.php" method="post">
\t Pranešimas apie korupciją:<br><textarea name="contact_text" rows="6" cols="30" maxlength="1000" ></textarea><br><br> <!-- -->
\t Email (nebūtinas):<br><input type="text" name="contact_email" maxlength="30">
<?php echo $a."+".$b."="?><input type="number" name="recaptcha" maxlength="2" style="width:40px" />
<input type="submit" value="Siusti">
<br>
</form>
Теперь проблема заключается в том, что я всегда получаю сообщение, что детали неверны. Я попытался повторить recaptcha, чтобы проверить, правильно ли работает $ c, и это работает. Но по какой-то причине не удалось сравнить $ recaptcha с $ c или какой-то другой проблемой, я не уверен.