Lollus Opublikowano 9 Października 2010 Udostępnij Opublikowano 9 Października 2010 Witam. Mam następujący kod: <?php session_start(); include("logs.php"); mysql_connect($host, $user, $pass); mysql_select_db($baza); $login = addslashes(strip_tags(trim($_POST['login']))); $haslo = sha1(md5(addslashes(strip_tags( (trim($_POST['haslo'])))))); if ($_SESSION['zalogowany'] == false){ $logowanie = "SELECT * FROM userzy WHERE login='$login' AND haslo='$haslo'"; $spr_wykonanie = mysql_query($logowanie); $spr_ile = mysql_num_rows($spr_wykonanie); if ($spr_ile==1){ $_SESSION['zalogowany']=true; $_SESSION['user']=$login; echo "Udało Ci się zalogować"; }else{echo "Podano błędne hasło lub login. Spróbuj jeszcze raz";} }else{ echo "Jesteś już zalogowany";} ?> Chodzi o to, że po wpisaniu poprawnych jak i fałszywych danych nie można się zalogować. Natomiast, gdy $logowanie miało postać: "SELECT COUNT(*) FROM userzy WHERE login='$login' AND haslo='$haslo'"; to mając złe jak i dobre dane można było się zalogować. Jak to naprawić? Pozdrawiam Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 9 Października 2010 Udostępnij Opublikowano 9 Października 2010 Wydaje mi się że problem leży w if $_SESSION['zalogowany']==false. Zmienna ta nie była inicjowana więc w momencie wywołania nie miała wartości. Spróbuj z isset. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 10 Października 2010 Udostępnij Opublikowano 10 Października 2010 var_dump( null == false ); daje: bool(true) więc twoja teoria jest obalona zią. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się