Skocz do zawartości

Jak dodać reCaptcha do formularza email?


Rekomendowane odpowiedzi

Cześć. Jako że webmasterem nie jestem, a umiem jedynie podstawy html i php poznane jeszcze lata temu w gimnazjum, mam problem z dodaniem reCaptcha od Google do mojego formularza email, który z czystego zainteresowania został przeze mnie napisany z pomocą Tutków w internecie. Taka prowizoryczna strona z panelem do wysyłania e maila z kodem PaySafeCard, jako przewidywany malutki panel na takie płatności na mojej stronie. Na javascriptcie, oraz php nie znam się prawie w ogóle, jedynie co wydedukuje z jakiegoś tutoriala lub polecenia.

Kod formularza wygląda tak:

<div id="formularz">
<form method="post" action="kontakt.php">
        
    <label>Link do twojego profilu steam</label>
    <input name="name" placeholder="http://steamcommunity.com/id/gabelogannewell" required="required" minlength="32">
            
    <label>Wybierz</label>
    <select name="data" size="1">
		<option value="10 Donator Points - 10zl">10 Donator Points - 10zł</option>
		<option value="20 Donator Points - 20zl">20 Donator Points - 20zł</option>
		<option value="30 Donator Points - 30zl">30 Donator Points - 30zł</option>
		<option value="VIP(1msc) + 10 DP - 20zl">VIP(1msc) + 10 DP - 20zł</option>
	</select>
            
    <label>PIN PaySafeCard</label>
    <input id = "message1" name="message1" placeholder="1234" required="required" minlength="4" maxlength="4"></input>
    <input id = "message2" name="message2" placeholder="1234" required="required" minlength="4" maxlength="4"></input>
    <input id = "message3" name="message3" placeholder="1234" required="required" minlength="4" maxlength="4"></input>
    <input id = "message4" name="message4" placeholder="1234" required="required" minlength="4" maxlength="4"></input>		
			
    <input id="submit" name="submit" type="submit" value="Wyślij">
        
</form>

<p class="copy">Płatności obsługuje <a href="https://homepay.pl/" target="_blank">HOMEPAY</a></p>

</div>

(Odrazu uprzedzam że nie ma to żadnego związku z MineCraftem :v)

kontakt.pkp:

<?php

$name = $_POST['name'];

$data = $_POST['data'];

$message1 = $_POST['message1'];
$message2 = $_POST['message2'];
$message3 = $_POST['message3'];
$message4 = $_POST['message4'];

$odkogo = "ADRESEMAIL";

$dokogo = "ADRESEMAIL";

$tytul = "Kolejna platnosc PSC";

$wiadomosc = "";
$wiadomosc .= "Profil: " . $name . "\n";
$wiadomosc .= "Wybor: " . $data . "\n";
$wiadomosc .= "PIN PSC: " . $message1 . " " . $message2 . " " . $message3 . " " . $message4 . "\n";

$sukces = mail($dokogo, $tytul, $wiadomosc, "Od: <$odkogo>");

if ($sukces){
  print "<meta http-equiv=\"refresh\" content=\"0;URL=potwierdzenie.php\">";
}
else{
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.html\">";
}
?>

Pomógł by mi ktoś zaimplementować tu reCaptcha? Przydało by się to przed niepotrzebnym spamem.
Fajnie by było, jeśli unikalny użytkownik miał by jeszcze jakiś limit do tego formularza, np. po każdej wysłanej wiadomości musiałby odczekać parę minut.

 

[email protected]: Literówka :P

Ból jest twoim przyjacielem, sprzymierzeńcem... Ból mówi, kiedy jesteś poważnie ranny... A wiesz, co jest w bólu najlepsze? Pokazuje, że nie jesteś jeszcze... MARTWY! ~ Kaneki Ken

 

Odnośnik do komentarza
Udostępnij na innych stronach

Wiem, byłem tam, ale nie potrafię tego wykorzystać. Samo polecenie display wykorzystać potrafię. Nie potrafię natomiast zrobić weryfikacji, aby button nie był dostępny do wciśnięcia zanim użytkownik nie wypełni captcha. Dlatego też tu pisze.

 

Edit: button w kontekście: 

<input id="submit" name="submit" type="submit" value="Wyślij">

Ból jest twoim przyjacielem, sprzymierzeńcem... Ból mówi, kiedy jesteś poważnie ranny... A wiesz, co jest w bólu najlepsze? Pokazuje, że nie jesteś jeszcze... MARTWY! ~ Kaneki Ken

 

Odnośnik do komentarza
Udostępnij na innych stronach

Wiesz, ten dział służy nauce ;) a nie żeby dostać gotowca

 

Może ci bardziej rozjaśni sytuacje https://codeforgeek.com/2014/12/google-recaptcha-tutorial/ 

 

 

Również istnieje dużo gotowy rozwiązań opartych o captche (nie recaptche) 

np. http://www.bitrepository.com/a-simple-ajax-contact-form-with-php-validation.html 

Odnośnik do komentarza
Udostępnij na innych stronach

Ja nie pytam o gotowca. Po prostu natrafiłem na barierę w której żaden tutorial nie mówi mi nic. Chciałbym aby ktoś mi po prostu wytłumaczył do mojego konkretnego przypadku. Tak aby problem się rozwiązał.

Ból jest twoim przyjacielem, sprzymierzeńcem... Ból mówi, kiedy jesteś poważnie ranny... A wiesz, co jest w bólu najlepsze? Pokazuje, że nie jesteś jeszcze... MARTWY! ~ Kaneki Ken

 

Odnośnik do komentarza
Udostępnij na innych stronach

Jednak znalazłem rozwiązanie.
do <body> dodać trzeba wartość onload="NAZWATWOJEJFUNKCJI()" Aby wyglądała np

<body onload="myFunction()">

następnie trzeba dodać wartość data-callback="enableBtn" do diva z klasą class="g-recaptcha" która będzie odpowiadać za włączenie buttona.
Następnie trzeba napisać funkcję myFunction() która przy załadowaniu strony wyłącza buttona.
A kolejną funkcją będzie funkcja enableBtn() która zawsze będzie włączana po wykonaniu captcha, a włącza ona możliwość kliknięcia w button.

 

Temat do zamknięcia :P

Ból jest twoim przyjacielem, sprzymierzeńcem... Ból mówi, kiedy jesteś poważnie ranny... A wiesz, co jest w bólu najlepsze? Pokazuje, że nie jesteś jeszcze... MARTWY! ~ Kaneki Ken

 

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający forum Jak dodać reCaptcha do formularza email?   0 użytkowników
    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...