Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Problem z funkcją logowanie
--welll1--
post
Post #1





Goście







Otóż mam dwa pliki.
Jeden to index.php a drugi function.php
plik function.php wygląda tak
  1. function zaloguj($login, $haslo)
  2. {
  3. $haslo = mysql_real_escape_string($haslo);
  4. $haslo = sha1($haslo);
  5. $login = mysql_real_escape_string($login);
  6.  
  7. $zapytanie = "SELECT * FROM users WHERE login = '$login' AND password = '$haslo'";
  8. $wykonaj = mysql_query($zapytanie);
  9. $ile = mysql_num_rows($wykonaj);
  10.  
  11. if($ile == 1)
  12. {
  13. while($wiersz = mysql_fetch_array($wykonaj))
  14. {
  15. $id = $wiersz['id'];
  16. }
  17. $_SESSION['uzytkownik'] = $id;
  18. return true;
  19. }
  20. else
  21. return false;
  22. }
  23.  
  24. function wyloguj()
  25. {
  26. $_SESSION = array();
  27. }
  28. ?>


W index.php
mam zamieszczony komunikat który pojawia się zawsze:
  1. if(isset($_GET['action']) == 'login')
  2. {
  3. if(zaloguj($_POST['log'], $_POST['has']))
  4. {
  5. $_SESSION['admin'] = 1;
  6. }
  7. else
  8. {
  9. echo 'Podales zle dane';
  10. }
  11. }
  12.  
  13. if(isset($_GET['action']) == 'logout')
  14. {
  15. wyloguj();
  16. }


bez względu na podane dane.
W MYSQL mam stworzoną tabelę users a w niej ID login no i password. Hasła koduję w MD5.
Co tutaj może być nie tak?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Skoro hasła przechowujesz w md5 to i przy SELECT też wypadałoby te md5 użyć...
Zanim zadasz kolejne pytanie:
Temat: Jak poprawnie zada pytanie
Go to the top of the page
+Quote Post
welll1
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 19.12.2011
Skąd: Opole

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


Gdy nie koduję w md5 problem również występuje.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Podałem ci linka i prosiłem wyraźnie po polsku byś sie znim zapoznał zanim napiszesz następnego posta. Po chińsku mam pisać byś zrozumiał?
Go to the top of the page
+Quote Post
welll1
post
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 19.12.2011
Skąd: Opole

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


Jeśli chodzi o zapytania to nie pojawiają się żadne komunikaty. Po prostu zawsze pojawia się napis Podałes zle dane i tyle. Nie zwraca żadnych błędów przy tym.
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) Link co ci podałem zawiera nie tylko informacje o błedynych zapytaniach ale o masie innych rzeczy, np. var_dump()
2) Jeśli robiłeś md5 przy select to też go pokaż bo może źle robisz - skad mamy wiedziec...
Go to the top of the page
+Quote Post
welll1
post
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 19.12.2011
Skąd: Opole

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


sha1 jest ustawione w function nie zauważyłem tego. Zmieniłem w mysql hasło i kodowanie na sha1. Teraz nie pojawia się ten komunikat ale też nie loguje mnie. Którą zmienną chciałbyś podejrzeć var_dumpem?

Komunikaty jakie mam teraz to:
Undefined index: has
Undefined index: log

Ten post edytował welll1 23.01.2012, 19:24:32
Go to the top of the page
+Quote Post

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: 23.08.2025 - 05:01