Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Dostosowanie logowania
Forum PHP.pl > Forum > Przedszkole
Croos22
Witam.
Znalazłem na tym forum ciekawy skrypt rejestracji kont Temat: Rejestracja PHP MySQL Walidacja
A tu znalazłem logowanie oparta na sesjach lecz przerobiłem go troszkę ale coś jest nie tak błędów nie wywala tylko jakiego loginu i hasła się nie wpisze to i tak wyskoczy komunikat, że podano złe dane.



  1. <?php
  2. session_register("zalogowany");
  3.  
  4. if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;
  5.  
  6. include ('includes/config_includes.php');
  7.  
  8. function ShowLogin($komunikat=""){
  9. echo "$komunikat<br>";
  10. echo "<form action='logowanie.php' method=post>";
  11. echo "Login: <input type=text name=user_name><br>";
  12. echo "Hasło: <input type=text name=user_password><br>";
  13. echo "<input type=submit value='Zaloguj!'>";
  14. echo "</form>";
  15. echo "Jeśli nie jesteś zarejestrowany, <a href='rejestruj.php'>tu znajdziesz formularz</a>";
  16. }
  17.  
  18. ?>
  19. <!DOCTYPE html
  20. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  21. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  22. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  23. <head>
  24. <title>Strona główna</title>
  25. </head>
  26. <body>
  27. <?php
  28. if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany"]=0;echo "Zostałeś wylogowany z serwisu";}
  29. if($_SESSION["zalogowany"]!=1){
  30. if(!empty($_POST["user_name"]) && !empty($_POST["user_password"])){
  31. if(mysql_num_rows(mysql_query("select * from users where user_name = '".htmlspecialchars($_POST["user_name"])."' AND user_password = '".htmlspecialchars($_POST["user_password"])."'"))){
  32. echo "Zalogowano poprawnie. <a href='index.php'>Przejdź na stronę główną</a>";
  33. $_SESSION["zalogowany"]=1;
  34. }
  35. else echo ShowLogin("Podano złe dane!!!");
  36. }
  37. else ShowLogin();
  38. }
  39. else{
  40. ?>
  41. Gratulacje! Zalogowałeś się pomyślnie! Możesz przejśc teraz do innych podstron, np. do <a href="stronka.php">tej</a>
  42. <br><a href='index.php?wyloguj=tak'>wyloguj się</a>
  43. <?php
  44. }
  45. ?>
  46.  
  47. </body>
  48. </html>
  49. <?php mysql_close(); ?>
sadistic_son
Podmień 31 linijkę na tą:
  1. if(isset($_POST["user_name"]) && isset($_POST["user_password"])){
a 38 na tą:
  1. else { echo 'Puste pola<br />'; ShowLogin(); }




EDIT:

Cytat(Croos22 @ 18.08.2010, 05:55:46 ) *
błędów nie wywala tylko jakiego loginu i hasła się nie wpisze to i tak wyskoczy komunikat, że podano złe dane.

Shit! Przeczytałem, że "jak loginu i hasła się nie wpisze to...."
W takim razie powyższe zmiany zaowocują tym, że jeśli podasz błędne dane to pojawi się "Podano złe dane!!!", natomiast jeśli nic nie wpiszesz to pojawi się "Puste pola<br />".
Croos22
Coś dalej jest nie tak. Sam skrypt wygląda tak.
rejestracja
http://samisobie.unl.pl/same_skrypty/rejestracja.php
logowanie
http://samisobie.unl.pl/same_skrypty/logowanie.php
MateuszS
Może tu:

  1. if(mysql_num_rows(mysql_query("select * from users where user_name = '".htmlspecialchars($_POST["user_name"])."' AND user_password = '".htmlspecialchars($_POST["user_password"])."'")))


spróbuj tak
  1. if(mysql_num_rows(mysql_query("select * from users where user_name = '".htmlspecialchars($_POST["user_name"])."' AND user_password = '".htmlspecialchars($_POST["user_password"])."'"))==1)


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.