Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> przesylanie danych sesji
-woo-
post 6.01.2008, 19:33:47
Post #1





Goście







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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
mike
post 6.01.2008, 19:35:22
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


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 to the top of the page
+Quote Post
-Gość-
post 6.01.2008, 19:57:08
Post #3





Goście







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
Go to the top of the page
+Quote Post
qrees
post 6.01.2008, 20:07:44
Post #4





Grupa: Zarejestrowani
Postów: 275
Pomógł: 44
Dołączył: 23.11.2007

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


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.
Go to the top of the page
+Quote Post
-woo-
post 6.01.2008, 20:41:49
Post #5





Goście







No nie za bardzo to zrozumialem:) Widzialem gdzies pewna metode 'header'.. czy ona nie jest latwiejsza do zastosowania w tej sprawie?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:18