Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ajax] rejestracja uzytkownika
trucksweb
post 6.07.2007, 20:58:00
Post #1





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


pisze sobie rejestracje z walidacja formularza. o ile walidacja dziala ok to juz z rejestracja jest problem:/
cos nie dziala:
wywala blad:
  1. <?php
  2. ERRNO: 8 TEKST: Undefined variable: user_name LOKALIZACJA: ../validate.class.php, linia 68
  3. ?>



  1. <?php
  2.  
  3. require_once ('error_handler.php'); 
  4. require_once ('config.php');
  5.  
  6. class Validate
  7. {
  8.  
  9. private $mMysqli;
  10.  
  11. function __construct()
  12. {
  13. $this->mMysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);
  14. }
  15.  
  16. function __destruct()
  17. {
  18. $this->mMysqli->close();
  19. }
  20.  
  21.  
  22. public function ValidateAJAX($inputValue, $fieldID)
  23. {
  24.  
  25. switch($fieldID)
  26. {
  27. // sprawdza poprawność nazwy użytkownika
  28. case 'txtUsername':
  29. return $this->validateUserName($inputValue);
  30. break;
  31. // sprawdza poprawność adresu email
  32. case 'txtEmail':
  33. return $this->validateEmail($inputValue);
  34. break;
  35.  
  36. }
  37. }
  38. // sprawdza, czy wypełnione są wszystkie pola
  39. public function ValidatePHP()
  40. {
  41. // flaga błędu zostaje ustawiona na 1, jeśli wystąpi błąd
  42. $errorsExist = 0;
  43. // czyści flagi błędów w sesji
  44. if (isset($_SESSION['errors']))
  45. unset($_SESSION['errors']);
  46. // domyślnie wartości pól są uznane za poprawne
  47. $_SESSION['errors']['txtUsername'] = 'hidden';
  48. $_SESSION['errors']['txtEmail'] = 'hidden';  
  49. // weryfikuje nazwę użytkownika
  50. if (!$this->validateUserName($_POST['txtUsername']))
  51. {
  52. $_SESSION['errors']['txtUsername'] = 'error';
  53. $errorsExist = 1;
  54. }
  55.  
  56. // weryfikuje email
  57. if (!$this->validateEmail($_POST['txtEmail']))
  58. {
  59. $_SESSION['errors']['txtEmail'] = 'error';
  60. $errorsExist = 1;
  61. }
  62.  
  63. // jeśli nie znaleziono błędów, to ustawia wartość pomyślnej weryfikacji
  64. if ($errorsExist == 0)
  65. {
  66.  
  67. // usuwa znaki specjalne przez dodaniem wiadomości do bazy
  68. $user_name = $this->mMysqli->real_escape_string($user_name);
  69. $user_email = $this->mMysqli->real_escape_string($user_emai);
  70.  
  71. // tworzy zapytanie SQL, które dodaje nową wiadomość do serwera
  72.  $query = 'INSERT INTO chat_users(user_name,user_email) ' .
  73. 'VALUES (NOW(), "' . $user_name . '" , "' . $user_email . '")';
  74. $result = $this->mMysqli->query($query);
  75.  
  76. }
  77. else
  78. {
  79. // jeśli są błędy, zapisuje wprowadzone dane
  80. foreach ($_POST as $key => $value)
  81. {
  82. $_SESSION['values'][$key] = $_POST[$key];
  83. }
  84. return 'index.php';
  85. }
  86. }
  87. // weryfikacja nazwy użytkownika, nie może być pusta lub już rejestrowana
  88. private function validateUserName($value)
  89. {
  90. // przycięcie spacji początkowych i końcowych oraz zmiana znaków na kod
  91. $value = $this->mMysqli->real_escape_string(trim($value));
  92. // pusta nazwa użytkownika nie jest poprawna
  93. if ($value == null) 
  94. return 0; // niepoprawna nazwa
  95. // sprawdza czy użytkownik nie występuje już w bazie
  96. $query = $this->mMysqli->query('SELECT user_name FROM chat_users ' .
  97. 'WHERE user_name="' . $value . '"');
  98. if ($this->mMysqli->affected_rows > 0)
  99. return '0'; // niepoprawna nazwa
  100. else
  101. return '1'; // poprawna nazwa
  102. }
  103.  
  104.  // weryfikuje email
  105. private function validateEmail($value)
  106. {
  107. // poprawne formaty email: *@*.*, *@*.*.*, *.*@*.*, *.*@*.*.*)
  108. //return (!eregi('^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$', $value)) ? 0 : 1;
  109. if ($value == null) 
  110. return 0; // niepoprawna nazwa
  111. // sprawdza czy użytkownik nie występuje już w bazie
  112. $query = $this->mMysqli->query('SELECT user_email FROM chat_users ' .
  113. 'WHERE user_email="' . $value . '"');
  114. if ($this->mMysqli->affected_rows > 0)
  115. return '0'; // niepoprawna nazwa
  116. else
  117. return '1'; // poprawna nazwa
  118. }
  119.  
  120.  
  121. }
  122. ?>


--------------------
Rozmawia dwóch dyrektorów:
- Jaki jest twój ideał sekretarki?
- 20-letnia dziewczyna z 30-letnim doświadczeniem.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
AxZx
post 6.07.2007, 23:15:48
Post #2





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


jak to?
patrzysz w linie 68 i nic?

z
  1. <?php
  2. $user_name = $this->mMysqli->real_escape_string($user_name);
  3. $user_email = $this->mMysqli->real_escape_string($user_emai);
  4. ?>


na

  1. <?php
  2. $user_name = $this->mMysqli->real_escape_string($_POST['txtUsername']);
  3. $user_email = $this->mMysqli->real_escape_string($_POST['txtEmail']);
  4. ?>


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post
trucksweb
post 6.07.2007, 23:33:09
Post #3





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


dry.gif fakt glupi blad, ale i tak nie dziala- nie zapisuje mi danych z formularza ;/


--------------------
Rozmawia dwóch dyrektorów:
- Jaki jest twój ideał sekretarki?
- 20-letnia dziewczyna z 30-letnim doświadczeniem.
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 Wersja Lo-Fi Aktualny czas: 31.07.2025 - 09:23