Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Blad z logowaniem
Forum PHP.pl > Forum > PHP
kylu31
Witam mam problem z skryptem logowania taki ,że jak mam konto i próbuje się zalogować nie udaje się to. może mógłby ktos mi pomóc ? daje kod i dzieki za pomoc.

Połączenie z bazą :
  1. <?
  2. $host_bazy_danych = 'localhost';
  3. $uzytkownik_bazy_danych = 'login';
  4. $haslo_bazy_danych = 'haslo';
  5. $nazwa_bazy_danych = 'nazwa bazy';
  6. $polacz = mysql_connect($host_bazy_danych, $uzytkownik_bazy_danych, $haslo_bazy_danych) or die('Nie mozna sie polaczyc z serwerem');
  7. mysql_select_db($nazwa_bazy_danych,$polacz) or die('Taka baza danych nie istnieje');
  8. mysql_query("SET NAMES 'utf8'");
  9. ?>


Skrypt logowania :
  1. <?
  2. if(!empty($_POST)){
  3. if (!empty($_POST['login']) && !empty($_POST['haslo'])){
  4. $_POST['login'] = mysql_real_escape_string($_POST['login']);
  5. $_POST['haslo'] = md5($_POST['haslo']);
  6. $user = mysql_fetch_array(mysql_query("select * from uzytkownik where login = '".$_POST['login']."' and haslo = '".$_POST['haslo']."' limit 1"));
  7. if(empty($user)) echo "Nieprawidlowy login lub haslo";
  8. else {
  9. $_SESSION = array();
  10. $_SESSION['user'] = $user['gracz'];
  11. header('Location: index.php?z=zalogowany');
  12. }
  13. } else {
  14. echo "Wypełnij wszystkie pola";
  15. }
  16. }
  17. <form method='post'>
  18. Login:<br />
  19. <input type='text' name='login' value='". $_POST['login']."'/><br />
  20. Haslo :<br />
  21. <input type='password' name='haslo'/><br />
  22. <input type='submit' value='Zaloguj'/>
  23. </form>";
  24. ?>


Baze danych mam taką :
nazwa uzytkownik a w niej id,login i haslo
mortus
A gdzie session_start()?
Jakie są objawy tego, że Cię nie loguje?
No i co to ma być:
  1. $_SESSION = array();

Przecież $_SESSION jest tablicą z założenia.
kylu31
wyskakuje mi ,że login lub hasło jest nie prawidłowe lecz z loginem i hasłem 12345 nie można się pomylić.

Dodam ,że to chyba linia 6 i 7
mortus
To może zamiast md5() używasz innej funkcji szyfrującej jak np. sha1()? Może zapytanie, którego używasz do logowania w ogóle się nie wykonuje. Rozbij linię 6 na dwie poniższe i sprawdź:
  1. $result = mysql_query("select * from uzytkownik where login = '".$_POST['login']."' and haslo = '".$_POST['haslo']."' limit 1") or die(mysql_error());
  2. $user = mysql_fetch_array($result);
kylu31
Jest jakiś błąd z kodowaniem md5 pisalo mi ,że chasło nie prawidlowe i jak usunełem md5 (z logowania i rejestacji) i od nowa sie zarejestrowalem to udalo mi sie zalogowac ... ale dzieki za pomoc smile.gif
nospor
Cytat
Jest jakiś błąd z kodowaniem md5
Miliony skryptów z użyciem md5, wszędzie jest ok, tylko tobie jednemu md5 źle działa?
Wniosek: błąd jest w Twoim kodzie a nie w md5. Pokaż cały kod, włącznie z rejestracją, bo teraz jedynie widzimy logowanie.
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.