Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] logowanie, problem
peter13135
post 1.08.2008, 19:23:37
Post #1





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


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?


--------------------
:)
Go to the top of the page
+Quote Post
Xniver
post 1.08.2008, 19:46:32
Post #2





Grupa: Zarejestrowani
Postów: 108
Pomógł: 26
Dołączył: 29.02.2008

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


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;

Ten post edytował Xniver 1.08.2008, 19:48:51
Go to the top of the page
+Quote Post
peter13135
post 2.08.2008, 10:04:09
Post #3





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


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)


--------------------
:)
Go to the top of the page
+Quote Post
Kicok
post 2.08.2008, 11:42:30
Post #4





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


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. ?>


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
peter13135
post 2.08.2008, 17:47:18
Post #5





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


hehe, dzięki wiem już w czym problem


--------------------
:)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 7.07.2025 - 04:45