Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Logowanie (Sesje) - Błąd
Sotery
post
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 27.01.2008

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


Cześć,
Tworzę sobie panel logowania i napotkałem mały problem.
Stworzyłem dwa pliki:

zaloguj.php
  1. <?
  2.  
  3. $login=$_POST['login'];
  4. if($login) {
  5. $uzytkownik=$_POST['uzytkownik'];
  6. $md5_haslo=$_POST['haslo'];
  7.  
  8. require_once "config.php";
  9.  
  10. $rezultat=mysql_query("select * FROM uzytkownicy WHERE login='$uzytkownik' AND haslo='$md5_haslo'");
  11. if(@mysql_num_rows($rezultat)){
  12. session_register($uzytkownik);
  13. header("location:index.php");
  14. }else {
  15. $message="<span style='color:0d024c;'>Nieprawidłowa nazwa użytkownika lub hasło</span><br>";
  16. }
  17. }
  18. ?>
  19.  
  20. <form id="form1" name="form1" method="post" action="<? echo $PHP_SELF; ?>">
  21. Login <input name="uzytkownik" type="text" id="uzytkownik" class="uzytkownik"><br>
  22. Hasło <input name="haslo" type="password" id="haslo" class="haslo"></div><br>
  23. <input name="login" type="image" src="images/04.jpg" id="login" value="login" />

index.php
  1. <?
  2. if(!session_is_registered($uzytkownik)){
  3. header("location:zaloguj.php");
  4. }
  5. ?>
  6.  
  7. <p>Witaj <? echo $_SESSION[$uzytkownik]; ?>! Jesteś zalogowany.</p>
  8. <p><a href="index.php">Wyloguj</a></p>


Wszystko śmiga ok. Problem jest z sesją :(
To znaczy, gdy dana osoba wpisze poprawne dane przekierowuje ją na index.php - tam niestety nie rozpoznaje aby sesja istniała i powraca do zaloguj.php.
Wie ktoś gdzie mógłby się znajdować tutaj błąd?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
yevaud
post
Post #2





Grupa: Zarejestrowani
Postów: 471
Pomógł: 89
Dołączył: 29.07.2008
Skąd: Warszawa

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


session_destroy() destroys all of the data associated with the current session. It does not unset any of the global variables associated with the session, or unset the session cookie. To use the session variables again, session_start() has to be called.
Go to the top of the page
+Quote Post
Lars_18
post
Post #3





Grupa: Zarejestrowani
Postów: 63
Pomógł: 11
Dołączył: 29.05.2010

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


Może dlatego, że po starcie sesji od razu niszczysz jej dane (session_destroy). I nie używaj session_is_registered tylko isset.

Ten post edytował Lars_18 19.06.2010, 13:59:09
Go to the top of the page
+Quote Post
Sotery
post
Post #4





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 27.01.2008

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


Początkowo też myślałem, że może chodzić o session_destroy.
Niestety po usunięciu owej linijki z kodu oraz zamianie session_is_registered na isset nadal to samo :/
Go to the top of the page
+Quote Post
yevaud
post
Post #5





Grupa: Zarejestrowani
Postów: 471
Pomógł: 89
Dołączył: 29.07.2008
Skąd: Warszawa

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


w zaloguj.php przypisz cos pod $_SESSION['uzytkownik'];

popraw wszedzie $_SESSION[$uzytkownik]; na $_SESSION['uzytkownik'];

w index.php ma byc isset($_SESSION['uzytkownik'])

jak dalej nie dziala to wklej kod

Ten post edytował yevaud 19.06.2010, 14:15:45
Go to the top of the page
+Quote Post
nospor
post
Post #6





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




session_is_registered($uzytkownik)
ty wogole tego nie łapiesz (IMG:style_emoticons/default/winksmiley.jpg)
Przecież $uzytkownik jest puste w tej linijce. Wiesz jak wiec wygląda tak naprawdę ten kod? O tak:
session_is_registered()
(IMG:style_emoticons/default/smile.gif)

Zastosuj się proszę do podanych tu porad:
Temat: Jak poprawnie zada pytanie
Masz tapisane między innym jak włączyc wyświetlanie wszystkich błędów.
Go to the top of the page
+Quote Post
Sotery
post
Post #7





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 27.01.2008

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


Hehe, działa :))
Rzeczywiście wystarczyło zmienić [$uzytkownik] na ['uzytkownik'].
Dziękuje wam wszystkim i tobie nospor za wytłumaczenie.
Oczywiście lecą pochwały :))
Pozdrówka i miłego dnia.
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: 28.09.2025 - 11:32