Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> sprawdzanie czy uzytkownik wpisal haslo
szefol7
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 30.10.2004

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


Czy jest jakas roznica pomiedzy wpisywaniem danych i przesylaniem ich za pomoca POST pomiedzy "text" a "password" ?
Wpisuje cos takiego zeby sprawdzic czy uzytkownik wpisal haslo:

if ($haslo=="")
{
echo "Musisz wpisac haslo!";
exit;
}

Ale nawet jeżeli nie wpisze hasla to wyskakuje jak by wszystko bylo dobrze wpisane.
Kiedy tak samo sprawdzam np. login, czy imie czy nazwisko, wszystko dziala dobrze tak jak bym chcial, nie dziala tylko przy hasle.
Moje pytanie wiec brzmi czy jest roznica pomiedzy przesylaniem "TEXT" i "PASSWORD" w formularzu.

P.S.

Pewnie jest jakis lepszy sposob na zrobienie tego, takze jezeli ktos by mial jakies sugestie to byl bym wdzieczny.

Z gory dziekuje!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
=kokos=
post
Post #2





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 6.08.2006

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


Zamiast tych warunków

  1. <?php
  2. //Sprawdzanie czy dane zostaly wprowadzone poprawnie
  3. if ($login=="")
  4. echo "Musisz wpisać login!";
  5.  
  6. if ($imie=="")
  7. echo "Musisz wpisać imię!";
  8.  
  9. if ($nazwisko=="")
  10. echo "Musisz wpisać nazwisko";
  11.  
  12. if ($login=="" or $imie=="" or $nazwisko=="")
  13. ?>


możesz zastąpić je jednym
  1. <?php
  2. if(!$login || !$imie || !$nazwisko)
  3. {
  4. echo "Nie podano wszystkich danych":
  5. }
  6. ?>


Chociaż to można sprawdzić za pomocą JS zanim jeszcze wyślesz formularz w taki sposób.

  1. function sprawdz (){
  2. var brak_danych = false;
  3. var formularz = document.forms[0];
  4. var napis = "";
  5. if (formularz.imie.value == ""){
  6. napis += "imie\n"
  7. brak_danych = true;
  8. }
  9. if (formularz.nazwisko.value == ""){
  10. napis += "nazwisko\n"
  11. brak_danych = true;
  12. }
  13. if (formularz.login.value == ""){
  14. napis += "login\n"
  15. brak_danych = true;
  16. }
  17.  
  18. .
  19. .
  20. .
  21.  
  22. if (formularz.haslo.value != formularz.haslo2.value){
  23. alert ("Wpisane hasła różnią się");
  24. return false;
  25. }
  26.  
  27. if (!brak_danych)
  28. return true;
  29. else
  30. alert ("Nie wypełniłeś następujących pól:\n" + napis);
  31. return false;
  32.  
  33. }

i oprócz tego w znaczniku <form> wpisujesz zdarzenie onSubmit="sprawdz()"

Jeżeli ktoś się pomyli nie będzie zmuszony wpisywać wszystkich pól na nowo tylko uzupełni te, których nie wpisał lub zweryfikuje błąd związany z hasłem


Z hasłem po wysłaniu możesz zrobić tak

  1. <?php
  2. if($haslo != $haslo2) { echo "Wpisane hasła różnią się"; exit;}
  3. ?>


i jeszcze przy rejestracji warto sprawdzić czy login wpisany przez uzytkownika nie jest już uzywany.

  1. <?php
  2. if(mysql_num_rows(@mysql_query("SELECT id FROM zarejestrowani WHERE login='$login'"))) {echo "Wybrany login już istnieje"; exit; }
  3. ?>


Ten post edytował =kokos= 19.09.2006, 20:59:54
Go to the top of the page
+Quote Post

Posty w temacie


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: 6.10.2025 - 18:26