Robie teraz skrypt rejestracji i logowania ... Wszystko szło jak po maśle, ale nagle natknołem się na coś dziwnego. Ustawiłęm, że przy zmianie hasła , hasło musi mieć przynajmniej 6 znaków i niezależnie czy wpisze 6 czy 15 znaków to i tak wywala mi błąd, że mam mniej niż 6 znaków ... Prosze o wyszkukanie błędu bo ja już od 3 godzin szukam (nawet od nowa to zrobiłem), ale dalej to samo :-/
Skrypt formularza:
<?php require_once('funkcje_rejestracji.php'); sprawdz_prawid_uzyt(); ?> <html> <body> <br /> <form action="zmiana_hasla.php" method=post> <table width=250 cellpadding=2 cellspacing=0 bgcolor=#cccccc> <tr><td>Poprzednie hasło:</td> <td><input type=password name=stare_haslo size=16 maxlength=16></td> </tr> <tr><td>Nowe hasło:</td> <td><input type=password name=nowe_haslo size=16 maxlength=16></td> </tr> <tr><td>Powtorzenie nowego hasła:</td> <td><input type=password name=nowe_haslo2 size=16 maxlength=16></td> </tr> <tr><td colspan=2 align=center><input type=submit value="Zmiana hasła"> </td></tr> </table> <br /> </body> </html>
Skrypt zmiany hasła:
<?php require_once('funkcje_rejestracji.php'); $stare_haslo = $_POST['stare_haslo']; $_nowe_haslo = $_POST['nowe_haslo']; $_nowe_haslo2 = $_POST['nowe_haslo2']; try { sprawdz_prawid_uzyt(); if (!wypelniony($_POST)) throw new Exception('Formularz nie został wypełniony całkowicie. Proszę spróbować ponownie.'); if ($nowe_haslo!=$nowe_haslo2) throw new Exception('Wprowadzone hasła nie są identyczne. Hasło nie zostało zmienione.'); throw new Exception('Nowe hasło musi mieć długość co najmniej 6 znaków. Proszę spróbować ponownie.'); // próba uaktualnienia zmien_haslo($_SESSION['prawid_uzyt'], $stare_haslo, $nowe_haslo); } catch (Exception $e) { } ?>