Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Wyświetlanie reCAPTCHY w funkcji
Szymoneks12
post
Post #1





Grupa: Zarejestrowani
Postów: 67
Pomógł: 1
Dołączył: 31.03.2010

Ostrzeżenie: (10%)
X----


Otóż reCAPTCHĘ wyświetlam za pomocą funkcji:

  1.  
  2. // Funkcja wyświetlająca reCAPTCHE
  3. function wyswietlRecaptche()
  4.  
  5. {
  6. // Includowanie reCAPTCHY
  7. include 'recaptchalib.php';
  8. $publickey = "6Lfvc7oSAAAAAK4Go8nmx3wZ6Okh3Vzvi9-RuzJ0";
  9. echo recaptcha_get_html($publickey);
  10.  
  11. return '';
  12. }
  13.  
  14. // Funkcja identyfikująca reCAPTCHĘ (sprawdzająca, czy jest dobrze wypełniona)
  15. function identyfikujRecaptche()
  16.  
  17. {
  18.  
  19. require_once('recaptchalib.php');
  20.  
  21. $privatekey = "6Lfvc7oSAAAAAOpIp3KxYGtfjT-rmbpxDtsHxqzb";
  22. $resp = recaptcha_check_answer($privatekey,
  23. $_SERVER["REMOTE_ADDR"],
  24. $_POST["recaptcha_challenge_field"],
  25. $_POST["recaptcha_response_field"]);
  26.  
  27. return $resp;
  28. }
  29.  
  30. // Funkcja wyświetlająca prośbę o poprawne wypełnienie reCAPTCHY (jeżeli jest źle wypełniona)
  31. function wyswietlProsbeRecaptcha($resp)
  32.  
  33. {
  34. // Weryfikacja reCAPTCHA
  35. if (!$resp->is_valid)
  36. {
  37. $error = $resp->error;
  38. die ('<p class="ostrzezenie">Proszę wpisać poprawnie wyrazy z obrazka.</p>');
  39. }
  40.  
  41. return '';
  42. }
  43.  


Niestety jak wywołuję funkcje w poniższy sposób,
to zawsze wyświetla się monit o poprawne wypełnienie reCAPTCHY:

  1.  
  2. // Wyswietlanie reCAPTCHY
  3. wyswietlRecaptche();
  4.  
  5. // Sprawdzanie, czy reCAPTCHA jest dobrze wypełniona
  6. identyfikujRecaptche();
  7.  
  8. // Wyświetlanie prośby o poprawne wypełnienie reCAPTCHY (jeżeli jest źle wypełniona)
  9. wyswietlProsbeRecaptcha($resp);
  10.  


Co robię źle?


--------------------
Zapraszam na wspólną grę w Minecraft - MyneCraft.pl!
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




wyswietlProsbeRecaptcha($resp);
No przecież $resp nie jest widoczne. Poczytaj w manualu o zasięgu błędów.

Włącz sobie też wyświetlanie wszystkich błędów to nie będziesz po forach z takimi pierdółkami latał smile.gif
Tu masz o tym napisane:
Temat: Jak poprawnie zada pytanie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Szymoneks12
post
Post #3





Grupa: Zarejestrowani
Postów: 67
Pomógł: 1
Dołączył: 31.03.2010

Ostrzeżenie: (10%)
X----


Jakieś konkretne hasło?

Szukałem pod: "zasięg błędów".


--------------------
Zapraszam na wspólną grę w Minecraft - MyneCraft.pl!
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




sorki, miało być "zasięg zmiennych" smile.gif
http://pl2.php.net/manual/pl/language.variables.scope.php

Ale temat co ci podałem wcześniej to też sobie obowiązkowo przyswój.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Szymoneks12
post
Post #5





Grupa: Zarejestrowani
Postów: 67
Pomógł: 1
Dołączył: 31.03.2010

Ostrzeżenie: (10%)
X----


ale nadal nie rozumiem ;(


--------------------
Zapraszam na wspólną grę w Minecraft - MyneCraft.pl!
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Ale co? Dałeś POMOGŁ to niby problem rozwiązany.
To rozwiązany czy nie? Czego nie rozumiesz?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
skarabe.pl
post
Post #7





Grupa: Zarejestrowani
Postów: 142
Pomógł: 49
Dołączył: 29.07.2010

Ostrzeżenie: (0%)
-----


Może chodzi po prostu o to, by napisać:
  1. $resp = identyfikujRecaptche();

Zamiast gołego identyfikujRecaptche()?
Go to the top of the page
+Quote Post
foxbond
post
Post #8





Grupa: Zarejestrowani
Postów: 162
Pomógł: 12
Dołączył: 20.12.2009
Skąd: Siedlce

Ostrzeżenie: (0%)
-----


Chodzi o to, że musisz dać

  1. // Wyswietlanie reCAPTCHY
  2. wyswietlRecaptche();
  3.  
  4. // Sprawdzanie, czy reCAPTCHA jest dobrze wypełniona
  5. [b]$resp =[/b] identyfikujRecaptche();
  6.  
  7. // Wyświetlanie prośby o poprawne wypełnienie reCAPTCHY (jeżeli jest źle wypełniona)
  8. wyswietlProsbeRecaptcha($resp);


Bo funkcje w zmiennej są widoczne tylko w obrębie jej samej, a poza tym $resp zwracasz przez return.


EDIT:

Tak będzie krótszy kod:
  1. wyswietlRecaptche();
  2. wyswietlProsbeRecaptcha(identyfikujRecaptche());

EDIT2:
o.O @skarabe.pl mnie wyprzedził

Ten post edytował foxbond 6.08.2010, 20:16:37
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 03:12