Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sprawdzanie, czy ktos jest zalogowany
Forum PHP.pl > Forum > PHP
makowski
Witam! Ten problem widzę po raz pierwszy i nie wiem co zrobić. Wcześniej mi działało dobrze, a teraz już wogole nie działa. Przed innymi stronami na samym początku wstawiłem kod, który sprawdza czy dana osoba ejst zalogowana i nie działa tzn. Jak się zaloguje i wyloguje, a spróbuje wejść na stronę to pisze żeby się zalogować, ale za 2 razem już moge normanie wejśc.
Wklejam kod, ktory jest odpowiedzialny za to:
  1. <?php
  2. if (!isset($_SESSION['login'])) {
  3. echo ' <meta http-equiv="Refresh" content="0; URL=login.php" />Zaloguj sie!!';
  4. $_SESSION['login']=$login;
  5. }
  6. ?>
Matte
Pokaż plik "login.php" ; )
makowski
Pominę zbędne rzeczy, wstawę tylko kod php logowania"
  1. <?php
  2. //polaczenie
  3.  
  4.  
  5. if($_POST['haslo'] != '' && $_POST['login'] != '' ) {
  6. $pytanie='select id, haslo, login from user where login="'.$_POST["login"].'" and haslo="'.$_POST["haslo"].'" ';
  7. $wynik=mysql_query($pytanie);
  8.  
  9. if (mysql_num_rows($wynik)!=0) {
  10. $wiersz=mysql_fetch_array($wynik);
  11. $_SESSION['id']=$wiersz["id"];
  12. $_SESSION['login']=$wiersz["login"];
  13.  
  14.  
  15. mysql_query("UPDATE user SET last_ip='$_SERVER[REMOTE_ADDR]' WHERE id=".$wiersz[id]);
  16. } }
  17.  
  18. if ($_GET["out"]==1) {
  19.  
  20. unset($_SESSION['id']);
  21. unset($_SESSION['login']);
  22.  
  23.  
  24. }
  25. ?>
  26.  
  27. <body>
  28. <? if ($_SESSION['id']!=""){ ?>
  29. <?
  30. $sql=mysql_query("SELECT * FROM user WHERE id=$_SESSION[id]");
  31. ($user=mysql_fetch_array($sql))
  32. ?>
  33.  
  34. <? } else { ?>
  35.  
  36. <? } ?>
thek
A po kiego grzyba ustawiasz zmienną $_SESSION['login']=$login? Jesli ktoś będzie mial tam śmieci lub pozostałości ze starej to mu wejdzie. Ustawiasz ja TYLKO w pliku, który służy do logowania... Nigdzie indziej. Przy wylogowywaniu unregister zmiennej i session_destroy... Nic nie powinno wtedy prześlizgnąć się już.
makowski
Ok usunelełm. To co mówiłeś żebym wkleił w tym kodzie już jest ui nadal nie działa ;/
MWL
spróbuj sprawdzić zawartość tablicy $_SESSION (za pomocą print_r czy var_dump).
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.