Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][OOP][SMARTY]System wyświetlania błędów podczas rejestracji
Forum PHP.pl > Forum > Przedszkole
ghastblood
Witam mam taki mały problem

działanie klasy auth
  1. //Sprawdza czy są błędy w formularzy jeżeli tak tworzy dla danej funkcji tablice
  2. public function weryfikacja($login, $nip, $haslo, $haslo1){
  3. $pola = $this->sprawdz_pola($login,$nip,$haslo,$haslo1);
  4. $login = $this->sprawdz_login($login);
  5. $nip = $this->sprawdz_nip($nip);
  6. $haslo = $this->sprawdz_haslo($haslo, $haslo1);
  7.  
  8. if(!empty($pola)){
  9. $this->error['sprawdz_pola'] = $pola;
  10. }else {
  11.  
  12. if(!empty($login)){
  13. $this->error['sprawdz_login'] = $login;
  14. }
  15.  
  16. if(!empty($nip)){
  17. $this->error['sprawdz_nip'] = $nip;
  18. }
  19.  
  20. if(!empty($haslo)){
  21. $this->error['sprawdz_haslo'] = $haslo;
  22. }
  23. }
  24. }
  25.  
  26. //Sprawdza czy wszystkie pola zostały uzupełnione jak tak zwraca pustą tablice
  27. private function sprawdz_pola($login, $nip, $haslo, $haslo1){
  28. $error = array();
  29.  
  30. if($login == NULL){
  31. $error['pole_login'] = "Pole Login jest wymagane";
  32. }
  33.  
  34. if($nip == NULL){
  35. $error['pole_nip'] = "Pole NIP jest wymagane";
  36. }
  37.  
  38. if($haslo == NULL){
  39. $error['pole_haslo'] = "Pole Hasło jest wymagane";
  40. }
  41.  
  42. if($haslo1 == NULL){
  43. $error['pole_haslo1'] = "Pole Powtórz Hasło jest wymagane";
  44. }
  45.  
  46. return $error;
  47. }
  48.  


następie w pliku register.php sprawdzam czy przycisk rejestruj został wciśnięty jeżeli tak wykonuje mi następujący kod

  1. $email = NULL;
  2. $nip = NULL;
  3. $haslo = NULL;
  4. $haslo1 = NULL;
  5.  
  6. if(isset($_POST['user']['emial'])){
  7. $email = mysql_real_escape_string($_POST['user']['email']);
  8. }
  9. if(isset($_POST['user']['nip'])){
  10. $nip = mysql_real_escape_string($_POST['user']['nip']);
  11. }
  12. if(isset($_POST['user']['haslo'])){
  13. $haslo = mysql_real_escape_string($_POST['user']['haslo']);
  14. }
  15. if(isset($_POST['user']['haslo1'])){
  16. $haslo1 = mysql_real_escape_string($_POST['user']['haslo1']);
  17. }
  18.  
  19. $error = $auth->walidacja($email, $nip, $haslo, $haslo1);
  20. $error1 = $auth->error;
  21. //jeżeli zmienna $error1 jest pusta wykonuje zapis do mysql inaczej przekazuje zmienna $error1 do smarty
  22. if(empty($error1)){
  23. $auth->register($email, $nip, $haslo);
  24. }else{
  25. $smarty->assign("error", $error1);
  26. }
  27.  

teraz template

  1. {if isset($error)}
  2. <div class="register_error">
  3. {foreach from=$error item=klucz}
  4. {foreach from=$klucz item=wartosc}
  5. <li>{$wartosc}</li>
  6. {/foreach}
  7. {/foreach}
  8. </div>
  9. {/if}


Tu raczej wszystko jest jasne jeżeli jest ustawiona zmienna $error wyświetla mi okienko z błędami

i teraz problem gdy przez formularz przekazuje zmienne do $auth->weryfikacja($zmienne);

zawsze otrzymuje błąd że pola są puste

gdy przypisze stałe dane do weryfikacji skrypt działa świetnie

  1. $auth->weryfikacja('', '', '', '');

zwraca mi błąd że pole emial, nip, haslo, haslo1 są wymagane

  1. $auth->weryfikacja($emial, $nip, $haslo, $haslo1);

pomimo że przekazałem poprawne dane z formularza zmienne są wypełnione zawsze otrzymuję błąd że wszystkie pola są wymagane.
Gość
'emial' != 'email'
ghastblood
Problem rozwiązany w formularzy błędy z nazwami były
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.