Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Problem ze wstawieniem captchy
Szymi_2004
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 15.08.2010

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


Witam wszystkich!
Mam problem z załączeniem math captchy do mojego formularza rejestracji. Kod dla math captchy wygląda następująco:

  1. if( isset( $_POST['secure'] ) ) /* jak dobrze rozumiem "secure" w tym wypadku jest nazwą pola do którego wprowadza się odpowiedź */
  2. {
  3. if($_POST['secure'] != $_SESSION['security_number'])
  4. {
  5. $error_message = "Źle przepisany kod";
  6. }
  7. else
  8. {
  9. /* funkcja odpowiadająca za poprawne wpisanie, w moim przypadku zakończenie rejestracji */
  10. }
  11. }


Teraz w jaki sposób umiejętnie go wkleić do poniższego kodu, tak aby walidacja działała, błędy wyświetlały się w polu "error_message" i wszystko ze sobą grało?

  1. <?php
  2. $error_message = "";
  3. if ($_SERVER['REQUEST_METHOD'] == 'POST')
  4. {
  5. $action = isset($_POST['action']) ? $_POST['action'] : '';
  6. require_once("config.php");
  7. $mysql_table = 'user';
  8.  
  9. $success_page = './../sukces1.html';
  10.  
  11. if ($action == 'signup')
  12. {
  13. $newusername = $_POST['username'];
  14. $newemail = $_POST['email'];
  15. $newpassword = $_POST['password'];
  16. $confirmpassword = $_POST['confirmpassword'];
  17. $newfullname = $_POST['fullname'];
  18. if ($newpassword != $confirmpassword)
  19. {
  20. $error_message = 'Hasła nie są takie same';
  21. }
  22. else
  23. if (!ereg("^[A-Za-z0-9_!@$]{1,50}$", $newusername))
  24. {
  25. $error_message = 'Wystapił błąd z nickiem !';
  26. }
  27. else
  28. if (!ereg("^[A-Za-z0-9_!@$]{1,50}$", $newpassword))
  29. {
  30. $error_message = 'Hasło jest złe !';
  31. }
  32. else
  33. if (!ereg("^[A-Za-z0-9_!@$.' &]{1,50}$", $newfullname))
  34. {
  35. $error_message = 'Imię i nazwisko jest błędne !';
  36. }
  37. else
  38. if (!ereg("^.+@.+\..+$", $newemail))
  39. {
  40. $error_message = 'Zły adres email !';
  41. }
  42. else
  43. if (empty($error_message))
  44. {
  45. $db = mysql_connect($mysql_server, $mysql_username, $mysql_password);
  46. mysql_select_db($mysql_database, $db);
  47. $sql = "SELECT username FROM ".$mysql_table." WHERE username = '".$newusername."'";
  48. $result = mysql_query($sql, $db);
  49. if ($data = mysql_fetch_array($result))
  50. {
  51. $error_message = 'Wystąpił błąd !';
  52. }
  53. }
  54. if (empty($error_message))
  55. {
  56. /* CZĘŚĆ SKRYPTU ODPOWIEDZIALNA ZA WYSYŁANIE POTWIERDZENIA MAILEM, DLA NAS NIE ISTOTNA */


Bardzo proszę o pomoc, od kilku dni się z tym męczę, efektem jest nie wyświetlająca się strona, bądź wyświetlanie błędów... Z góry dziękuję. Pozdrawiam
Szymon
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
kadlub
post
Post #2





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


tego captcha masz w jakimś pliku graficznym np captch.php
i te hasło z niego zapisujesz do sessi
więc w formularzu rejestracji czy co to tam jest daj <img src="captch.php" />
chyba o to ci chodzi (IMG:style_emoticons/default/questionmark.gif)

Ten post edytował kadlub 3.04.2011, 12:23:53
Go to the top of the page
+Quote Post
Szymi_2004
post
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 15.08.2010

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


Nie do końca, wiem jak wkleić samą captchę na stronę, potrzebuję aby ktoś pomógł mi wkleić walidację obrazka do pliku, który zamieściłem. Postaram się to inaczej przedstawić. Mam stronę na której jest formularz rejestracji, pola do wypełnienia, captcha i okienko gdzie wprowadzamy odpowiedź do captchy. Po wciśnięciu Submit następuje walidacja danych przez drugi plik, który sprawdza czy wszystkie pola zostały poprawnie wypełnione (to właśnie jego podałem źródło). Chciałbym żeby plik, który sprawdza wszystkie pola sprawdzał również captchę wd. pierwszego kodu. Mówiąc krótko wszystko jest, trzeba to tylko posklejać (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
kadlub
post
Post #4





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


po prostu wklej do tego pierwszego skryptu w miejsce tego else który podałeś ten drugi ,sesion start na sam początek pliku a te pole z wpisanym kodem przesyłaj tym samym formularzem co reszta danych do walidacji

Ten post edytował kadlub 3.04.2011, 12:48:13
Go to the top of the page
+Quote Post
ciekawskiii
post
Post #5





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


umiesc odrazu przed if(empty($error_
message)) no i wtedy z klamrami { } musisz sie pobawic, zapewne dolozyc na koncu skryptu
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 12:52