działanie klasy auth
//Sprawdza czy są błędy w formularzy jeżeli tak tworzy dla danej funkcji tablice public function weryfikacja($login, $nip, $haslo, $haslo1){ $pola = $this->sprawdz_pola($login,$nip,$haslo,$haslo1); $login = $this->sprawdz_login($login); $nip = $this->sprawdz_nip($nip); $haslo = $this->sprawdz_haslo($haslo, $haslo1); $this->error['sprawdz_pola'] = $pola; }else { $this->error['sprawdz_login'] = $login; } $this->error['sprawdz_nip'] = $nip; } $this->error['sprawdz_haslo'] = $haslo; } } } //Sprawdza czy wszystkie pola zostały uzupełnione jak tak zwraca pustą tablice private function sprawdz_pola($login, $nip, $haslo, $haslo1){ if($login == NULL){ $error['pole_login'] = "Pole Login jest wymagane"; } if($nip == NULL){ $error['pole_nip'] = "Pole NIP jest wymagane"; } if($haslo == NULL){ $error['pole_haslo'] = "Pole Hasło jest wymagane"; } if($haslo1 == NULL){ $error['pole_haslo1'] = "Pole Powtórz Hasło jest wymagane"; } return $error; }
następie w pliku register.php sprawdzam czy przycisk rejestruj został wciśnięty jeżeli tak wykonuje mi następujący kod
$email = NULL; $nip = NULL; $haslo = NULL; $haslo1 = NULL; } } } } $error = $auth->walidacja($email, $nip, $haslo, $haslo1); $error1 = $auth->error; //jeżeli zmienna $error1 jest pusta wykonuje zapis do mysql inaczej przekazuje zmienna $error1 do smarty $auth->register($email, $nip, $haslo); }else{ $smarty->assign("error", $error1); }
teraz template
<div class="register_error"> {foreach from=$error item=klucz} {foreach from=$klucz item=wartosc} <li>{$wartosc}</li> {/foreach} {/foreach} </div> {/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
$auth->weryfikacja('', '', '', '');
zwraca mi błąd że pole emial, nip, haslo, haslo1 są wymagane
$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.