Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sprawdzanie czy jest sesja
Forum PHP.pl > Forum > Przedszkole
stefan_precz
mam konto www a w nim serwis prezentujący tresc no a w katalogu jakimś tam innym umieszczony jest panel admina do tego serwisu czyli serwis jest w katalogu głównym a następny katalog to np. admin a w nim panel administracyjny. Logowanie wygląda tak:

  1. <?php
  2. include &#092;"config.php\";
  3. if(!isset($_SESSION['login'])) {
  4. if (!$_POST['login']) {
  5. include&#092;"logowanie.php\";
  6. }
  7. else
  8. {
  9. $sql = &#092;"SELECT * FROM uzytkownicy WHERE login = '\".$_POST['login'].\"'\";
  10. $wykonaj = mysql_query($sql);
  11. $login = mysql_fetch_array($wykonaj);
  12.  if(md5( $_POST['haslo']) != $login['haslo'] ) {
  13.  echo 'Podales zle dane.<br><a href=\"admin.php\">Spróbuj jeszcze raz</a>';
  14. }
  15. else
  16. {
  17.  $_SESSION['login'] = $login['login'];
  18.  header(&#092;"Location: admin.php\");
  19. }
  20. }
  21. }
  22. else
  23. {
  24. ...
  25. {
  26. ?>


więc w plikach na stronie serwisów które odpowiadają za wyświetlanie danych robię coś takiego

do pętli while dodaje:

  1. <?php
  2.  
  3. $pokaz=mysql_query(&#092;"SELECT * FROM `costam` WHERE costam = '$id' ORDER\");
  4. while ($row=mysql_fetch_array($pokaz) ) {
  5.  
  6. if (session_is_registered('login')){
  7.  
  8. echo&#092;"POLECENIE\";
  9. }
  10.  
  11. echo&#092;"\".$row['jakis_wynik'].\"\";
  12. }
  13.  
  14. ?>


no i moj problem polega na tym ze teoretycznie przy kazdym wyniku w pętli while gdy tylko jest sesja czyli jestem zalogowany do panelu powinno pokazywać się to co w echo"POLECENIE"; a tak nie jest nie mam pojęcie gdzie zrobiłem coś zle, wydaje mi sie że może jeśli pliku panelu są w innym katalogu niż pliki wyświetlające treść to dlatego ale wątpie aby to miało wpływ
ikioloak
Moze zamiast:
  1. <?php
  2. if (session_is_registered('login'))
  3. ?>

daj:
  1. <?php
  2. if (isset($_SESSION['login']))
  3. ?>
stefan_precz
niestety to rozwiązanie tez nie działa, czy możliwe jest że to wina lokalizacji plików np. pliki logowania są w innym katalogu a pliki wyświetlające treść w innych no i te drugie za pomocą include są ściągane do katalogu główngo do jakiegoś jednego pliku.
Kimi
Kod
$_SESSION['login'] = $login['login'];
       header("Location: admin.php");


wiec jesli $_SESSION['login'] = $login['login'];

to chyba powinienes dac

Kod
if ($login['login']){

echo"POLECENIE";
}
crash
Zgaduj zgadula, ale najważniejsze przeoczone (bo tego tu nie widać) tongue.gif W każdym pliku, który ma korzystać z sesji musi być umieszczone session_start()... No i jednak korzystaj już wszędzie z tablicy _SESSION a nie mieszaj z funkcjami session_*register*().
stefan_precz
ano fakt trzeba było dać sesion_start() dzięki zadziałało biggrin.gif
kimi
Ni ma za co..>:)
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.