Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: przesylanie danych sesji
Forum PHP.pl > Forum > Przedszkole
woo
Witam chcialbym uzyskac pewnych informacji na temat przekazywania zmiennych sesyjnych na kolejne podstrony... probowalem wiele rzeczy ale albo mi nie wychodzilo albo sam juz nie wiem o co chodzi..

Calosc sklada sie z formularza logowania main.php z ktorego przekazuje zmienne logowania 'postem' do skryptu log.php. Tam dane porownywane sa z rekordami loginow i hasel w mysql, po pomyslnym zakonczeniu nastepuje zaladowanie strony log.php. Nastepnie na tej stronie mam odnosnik do kolejnej strony, w tym przypadku panel.php. Nie wychodzi mi przekazywanie danych sesyjnych do tej strony...

Moglby ktos pokazac jakis przykladzik jak to zrobic?
mike
Cytat(woo @ 6.01.2008, 19:33:47 ) *
Moglby ktos pokazac jakis przykladzik jak to zrobic?
Pokaż jak to robisz a powiemy Ci gdzie leży błąd.
Zwyczaje panujące na tym forum każą pomagać a nie dawać gotowe przykłady (to w ostateczności).
Gość
Ogolnie probowalem w ten sposob: po pomyslnym wykonaniu warunku porownania zmiennych logowania z rekordami w bazie(log.php), probowalem przeslac jakiekolwiek dane a pozniej odebrac je w panel.php. Mianowicie w miejscu w ktorym wspomnialem (log.php) dopisuje

echo "<form method=\"post\" action="\panel.php\">";
echo "<input type=\"hidden\" name="\logged\" value=\"1\">;

w panel.php :

session_start();

$_POST['logged']=$_SESSION['auth'];
if (!isset($_SESSION['auth']==1)){
exit();
}


Oczywiscie to moga byc banialuki, jestem 'rookie' w php smile.gif
qrees
Cytat(Gość @ 6.01.2008, 19:57:08 ) *
Ogolnie probowalem w ten sposob: po pomyslnym wykonaniu warunku porownania zmiennych logowania z rekordami w bazie(log.php), probowalem przeslac jakiekolwiek dane a pozniej odebrac je w panel.php. Mianowicie w miejscu w ktorym wspomnialem (log.php) dopisuje

echo "<form method=\"post\" action="\panel.php\">";
echo "<input type=\"hidden\" name="\logged\" value=\"1\">;

w panel.php :

session_start();

$_POST['logged']=$_SESSION['auth'];
if (!isset($_SESSION['auth']==1)){
exit();
}


Oczywiscie to moga byc banialuki, jestem 'rookie' w php smile.gif


No cóż, isset($_SESSION['auth']) zawsze będzie false, bo nigdzie w kodzie nic na $_SESSION['auth'] nie przypisujesz.
Gdzieś powinieneś mieć wpisane przynajmniej $_SESSION['auth'] = true;. Czyli przykładowo:

  1. <?php
  2. if(isset($_POST['logged']))$_SESSION['auth'] = true;
  3. ?>

Natomiast zupełnie niepotrzebna jest linijka: $_POST['logged']=$_SESSION['auth'];
Nie przypisuj nigdy nic na $_POST[...]. Nie jest to dobra praktyka.
woo
No nie za bardzo to zrozumialem:) Widzialem gdzies pewna metode 'header'.. czy ona nie jest latwiejsza do zastosowania w tej sprawie?
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.