Czy cały kod będzie wyglądał tak, czy brakuje jeszcze czegoś? Bibliotekę recaptchalib.php wgrałem na serwer, wygenerowałem klucz poprzez konto google i wpisałem w miejsce KLUCZ reCaptcha’ , ale wywala mi info. “Błędny kod reCaptcha”.
<?php
require_once 'recaptchalib.php';
define('CAPTCHA_KEY', 'KLUCZ reCaptcha');
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
try {
// weryfikacja
if (!isset($_POST['submit'])) {
throw new Exception('Brak klucza submit', 0x1);
}
if (!recaptcha_check_answer(CAPTCHA_KEY, $_SERVER['REMOTE_ADDR'], $_POST['recaptcha_challenge_field'], $_POST['recaptcha_response_field'])->is_valid) {
throw new Exception('Błędny kod reCaptcha', 0x2);
}
foreach($_POST as &$val) {
$val = strip_tags($val); // to wytnie kod html z wiadomości
}
//etc, etc, ...
$headers = array(); // lub [] zależnie od wersji PHP
$headers[] = sprintf('%s: %s', 'MIME-Version', '1.0');
$headers[] = sprintf('%s: %s', 'Content-Type', 'text/html; charset=utf-8');
$headers[] = sprintf('%s: %s', 'From', $mailnadawcy);
// uzupełnij nagłówki
$message = sprintf('Imię i nazwisko: %s<br />Adres email: %s<br />Numer telefonu: %s<br />Treść wiadomości:<br />%s', $_POST['imie_nazwisko'], $_POST['gmail'], $_POST['telefon'], $_POST['wiadomosc']);
if (mail('treash@op.pl', 'Wiadomość z formularza kontaktowego', $message, implode("\r\n", $headers))) {
echo 'Wiadomość została wysłana';
} else {
throw new Exception('Wystąpił problem z wysyłką wiadomości', 0x10);
}
} catch(Exception $e) {
printf('%d: %s', $e->getCode(), $e->getMessage());
}
}
?>
…i jeszcze teraz nie wiem jak mam zrobić te recaptcha tzn. jak to w HTML-u zrobić bo obecnie nic nie mam poza moimi polami i jak wysyłam mówi że jest błędny kod recaptcha? Kurcze dzisiaj z tym już tyle walczyłem że mam dość, więc chętnie skorzystam z Twojej pomocy żeby zakończyć ten formularz.
Aha a tu mój kod HTML formularza:
<form action="php/send.php" method="post" onsubmit="if (this.imie_nazwisko.value == '' || this.gmail.value == '' || this.telefon.value == ''
|| this.wiadomosc.value == '' || this.mailnadawcy.value == ''){ alert('Zanim wyślesz formularz, musisz wypełnić wymagane pola! Wymagane pola
oznaczone są gwiazdką.'); return false }">
<input name="imie_nazwisko" type="text" placeholder="Imię i nazwisko*">
<input name="gmail" type="text" placeholder="Adres e-mail*">
<input name="telefon" type="text" placeholder="Numer telefonu">
<textarea name="wiadomosc" placeholder="Treść wiadomości*"></textarea>
<?= recaptcha_get_html(CAPTCHA_KEY) ?>
<input id="submit" name="submit" type="submit" value="Wyślij Wiadomość">
</form>