Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php+MySQL] Logowanie, Proszę o pomoc...
lukas_jg
post 22.08.2006, 13:48:32
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 3.02.2003
Skąd: Jelenia Góra

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


Witam
Próbowałem napisać własne logowanie ale co chwile coś mi zawodzi.
-pobiera userów z bazy mysql
-sprawdza czy wpisane haslo i pass jest ok jezeli ok to ustawia zmienna xx= '1' i ustawia cookies loginu i hasła po to aby trzymało logowanie
-wylogowanie po klikniaciu na log out




działało przy jednym userze w bazie

  1. <?php
  2.  
  3. if($page == "logout&")
  4. { 
  5.  
  6. ?>
  7. <meta http-equiv="Refresh" content="0; URL=">
  8. <?
  9.  
  10. }
  11.  
  12. $xx = '0';
  13.  
  14. $link = mysql_connect(xxxxxxxx.pl', 'xxxxxxxxxxxxxx', 'xxxxxxxxx') or die ("Nie masz uprawnien");
  15. mysql_select_db("xxxxxxx");
  16. $query = "SELECT * FROM users ORDER BY data DESC";
  17. $result = mysql_query ($query);
  18. $ile = mysql_num_rows($result);
  19.  
  20. for($a=0;$a<$ile;$a++)
  21. {
  22. $row=mysql_fetch_array($result);
  23. if(($login == $row['email']) and ($passwd == $row['pass'])){
  24. $xx = '1';
  25. session_register('login');
  26. session_register('passwd');
  27. }
  28. else { if($xx == '0') session_destroy(); }
  29. }
  30.  
  31.  
  32.  
  33.  
  34. ?>


Ten post edytował lukas_jg 22.08.2006, 14:09:34


--------------------
Łukasz
Go to the top of the page
+Quote Post
Coyote
post 22.08.2006, 14:00:35
Post #2





Grupa: Zarejestrowani
Postów: 151
Pomógł: 0
Dołączył: 20.02.2005
Skąd: Poznań

Ostrzeżenie: (30%)
XX---


uzywaj tagow php.... bo tak to nawet nie chce mi sie czytac tego kodu


--------------------
Go to the top of the page
+Quote Post
lukas_jg
post 22.08.2006, 15:18:14
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 3.02.2003
Skąd: Jelenia Góra

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


Nikt nie wie ?


--------------------
Łukasz
Go to the top of the page
+Quote Post
rama
post 22.08.2006, 15:57:03
Post #4





Grupa: Zarejestrowani
Postów: 50
Pomógł: 1
Dołączył: 25.02.2006
Skąd: Trójmiasto

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


Hmm, spróbuj leciutko zmodyfikować swój skrypt. Zakładam, że dane userów (takie jak email i haslo) przesyłaś poprzez formularz, racja? Wówczas wystarczy zrobić procedure logowania wyłącznie dla jednego użytkownika, czyli możesz zmodyfikować swój sql syntax, aby zawierał dodatkowy składnik, tj. winksmiley.jpg
  1. ... WHERE email = $_POST['email'] ...
Składnia ta wybierze jedynie jeden wiersz z danymi odpowiedniego użytkownika, więc w efekcie wystarczy porównać hasło znajdujące się w bazie z tym z formularza smile.gif

PS Zastanawiam sie, po co robisz pętle?
  1. <?php for($a=0;$a<$ile;$a++) { ... } ?>

PS1
  1. <meta http-equiv="Refresh" content="0; URL=">

możesz zamienić na
  1. <?php header( 'Location: index.php' ); ?>


Ten post edytował rama 22.08.2006, 15:59:09
Go to the top of the page
+Quote Post
piwoszeq
post 22.08.2006, 16:46:37
Post #5





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 13.01.2005
Skąd: warszawa

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


calosc jest zle.
Lepiej napisz od nowa winksmiley.jpg
Go to the top of the page
+Quote Post
Cysiaczek
post 22.08.2006, 17:12:36
Post #6





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Masz tak:
  1. <?php
  2. $query = "SELECT * FROM users ORDER BY data DESC";
  3. ?>

Czyli wybierze wszystkie rekordy z bazy, a Tobie jest potrzebny jeden konkretny prawda?
Sprawdź za pomocą mysql_num_rows() ile rekordów wybrałeś i zastanów sie, co się dzieje z Twoją zmienną $xx - jakie wartości przybiera i ile razy.

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
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: 14.08.2025 - 11:40