Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] logowanie, problem
Forum PHP.pl > Forum > Przedszkole
peter13135
w ramach edukacji postanowiłem zrobić skrypt logowania

  1. <?php
  2. ?
  3. include 'config.php';
  4. $formularz = "<form method='post' action=''>login <input type='text' name='login' maxlenht='30' size='20'><br>hasło <input name='haslo' type='password' maxlenht='30' size='20'><br><input type='submit' value='zaloguj sie'></form>";
  5.  
  6. //
  7. //zmiennne
  8. //
  9. $login=$_POST['login'];
  10. $haslo=$_POST['haslo'];
  11. $haslo = md5($haslo);
  12. $c_login = $_COOKIE["login"];
  13. $c_haslo = $_COOKIE["haslo"];
  14.  
  15. if(!$c_login && !$c_haslo)
  16. {
  17. echo "cookie nieistnieje";
  18.  
  19. if(!$login && !$haslo)
  20. {
  21. echo $formularz;
  22. echo "login i hasło nie istnieje";//pomoc żebym wiedział jak to wszystko interpretuje serwer
  23. }
  24.  
  25. else if($login && $haslo )
  26. {
  27. echo "login i hasło istnieje"; //pomoc żebym wiedział jak to wszystko interpretuje serwer
  28. //
  29. //łączenie z bazą danych, wybieranie bazy
  30. //
  31. mysql_connect($dbhost, $dbuser, $dbpassword)or die("Nie można nawiązać połączenia z bazą"); 
  32. mysql_select_db($dbname)or die("Wystąpił błąd podczas wybierania bazy danych");
  33.  
  34. //pobieranie danych z bazy
  35. $query = "select * from pportal_users where user_login='$login' AND user_haslo='$haslo' ";
  36. $results = mysql_results($query);
  37. $num_reslts = mysql_num_rows($results);
  38.  
  39. if($num_results != 1)
  40. {
  41. echo "nazwa uzytkownika lub haslo nieprawidlowe";
  42. }
  43. else if($num_results==1)
  44. {
  45. $row = mysql_fetch_array($result);
  46. setcookie("login", $row[user_login]);
  47. setcookie ("haslo", $row[user_haslo]);
  48. }
  49. }
  50. }
  51. else if(!empty($cookie))
  52. {echo "zalogowany jako $_login"; }
  53.  
  54.  
  55.  
  56. ?>



no i problem w tym że gdy wchodze na strone nic sie niewyświetla , a chciałbym by wyświetlał sie formularz
czy może mi ktoś pomóc?
Xniver
1. zły nawyk - $row[user_login] klucz powinien być w apostrofach.
2. mysql_num_rows również zły nawyk, nie powinno się tego używać(są lepsze rozwiązania)
3.
  1. <?php
  2. $results = mysql_results($query);
  3. ?>

Tu raczej kod powinien wyglądać tak:
  1. <?php
  2. $result = mysql_query($query);
  3. ?>

4. jeśli nie korzystasz z kluczów numerycznych to zamiast mysql_fetch_array użyj mysql_fetch_assoc
5. jak się nie wyświetla to może zapomniałeś o echo $formularz;
peter13135
dzięki, ale to nierozwiązuje mojego problemu, w 22 lini jest wyświetlanie formularza, jednak niechce sie wyświetlać
jedyne co mi sie wyświetla to "cookie nieistnieje (18 linia)
Kicok
To powinno nieco rozjaśnić sprawę:
  1. <?php
  2.  
  3. $haslo = '';
  4.  
  5. if( !$haslo )
  6. {
  7. echo '1. haslo nie istnieje<br>';
  8. }
  9. else
  10. {
  11. echo '1. haslo istnieje: "' . $haslo . '"<br>';
  12. }
  13.  
  14.  
  15.  
  16. $haslo = md5( $haslo );
  17.  
  18. if( !$haslo )
  19. {
  20. echo '2. haslo nie istnieje<br>';
  21. }
  22. else
  23. {
  24. echo '2. haslo istnieje: "' . $haslo . '"';
  25. }
  26.  
  27. ?>
peter13135
hehe, dzięki wiem już w czym problem
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.