Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] recaptcha do prostego formularza
Forum PHP.pl > Forum > Przedszkole
DDK15
Witam, mam skrypt zapisujący dane z formularza do pliku, ale chce go zabezpieczyć recaptchą. Jak to zrobić ?

Oto kod skryptu:

  1. <?php
  2. $pole1 = trim($_POST['pole1']);
  3. $pole2 = trim($_POST['pole2']);
  4.  
  5. if(empty($pole1) and empty($pole2)) {
  6.  
  7. echo'<form action="" method="post">
  8. <input type="text" name="pole1" style="width: 200px;" /><br />
  9. <input type="submit" value="Zapisz" />
  10. </form>';
  11. }
  12.  
  13. else {
  14.  
  15. $dane = $pole1."\n";
  16. $file = "dane288.txt";
  17. $fp = fopen($file, "a");
  18. flock($fp, 2);
  19. fwrite($fp, $dane);
  20. flock($fp, 3);
  21. fclose($fp);
  22.  
  23. echo "Dane zapisane !<br>";
  24. }
  25.  
  26. ?>
DDK15
Próbowałem z tej strony korzystać już, ale skrypt działa inaczej i nie umiem zrobić. Sorry ale jestem laikiem i nie rozumiem jak to zrobić. Prosiłbym o wytłumaczenie na tym skrypcie.
muk4
Ściągasz biblioteke ReCAPTCHA: http://code.google.com/p/recaptcha/downloa...l:phplib-Latest > plik recaptchalib.php

Rejestrujesz się tutaj: https://www.google.com/recaptcha/admin/create

Dostajesz 2 klucze: prywatny i publiczny.

Publiczny dajesz do formularza. Między <form> i </form> dajesz taki kod:
  1. <?php
  2. require_once('recaptchalib.php');
  3. $publickey = "TUTAJ TWOJ PUBLICZNY KLUCZ";
  4. echo recaptcha_get_html($publickey);
  5. ?>


Potem tam gdzie wysyłasz dane z formularza żeby sprawdzić czy ktoś wpisał poprawne dane dajesz:
  1. require_once('recaptchalib.php');
  2. $privatekey = "TUTAJ TWOJ KLUCZ PRYWATNY";
  3. $resp = recaptcha_check_answer ($privatekey,
  4. $_SERVER["REMOTE_ADDR"],
  5. $_POST["recaptcha_challenge_field"],
  6. $_POST["recaptcha_response_field"]);
  7. if ($resp->is_valid) {
  8. // Tutaj się udało
  9. } else {
  10. //Tutaj się nie udało
  11. }


Trochę angielskiego i człowiek się gubi.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.