Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z sesjami
atay
post
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 8.10.2003

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


  1. <?php
  2.  
  3.  
  4. if($_POST['pass']==$haslo){ echo "haslo ok"; $_SESSION['tryb']='menu';};
  5. if($_SESSION['tryb']!="") {
  6. switch($_GET['show']) {
  7. case "news"        :$_SESSION['tryb']='news'; break;
  8. case "prasa"    :$_SESSION['tryb']='prasa'; break;
  9. case "przetargi":$_SESSION['tryb']='przetargi'; break;
  10. case "stats"    :$_SESSION['tryb']='stats'; break;
  11. case "menu"        :$_SESSION['tryb']='menu'; break;
  12. }
  13. }
  14.  
  15. ?>

to kawalek mojego kodu, z ktorym nie moge dac sobie rady, a konkretnie chodzi o to, ze w zaleznosci od zmiennej sesyjnej tryb pozwala na administrowanie moim serwisem. Jest tylko jeden problem. Po przejsciu przez instrukcje switch - zmienia ta zmienna na taka jak pokazuje $_GET['show'], ale tylko na czas dzialania skryptu, tzn. gdy jestem na stronie admin.php?show=news strona dziala pieknie, zmienna tryb to news, ale gdy teraz probuje kliknac na link do admin.php (zwykly link) moja zmienna $_SESSION['tryb'] przyjmuje wartosc menu (choc patrzac wglab kodu - powinno sie wtedy pokazac 'haslo ok', a sie nie pokazuje).

Krocej mowiac - wydaje mi sie, ze gdy zadeklaruje jakas zmienna sesyjna na poczatku to w trakcie skryptu moge ja zmieniac, ale i tak na koncu pliku (gdy skrypt sie skonczy wykonywac) przyjmuje ona wartosc zadeklarowana na samym poczatku.

Dodam, ze tego problemu nie mialem, gdy na serwerze bylo ustawione register_globals=on. Zmiana na off cos popsula i nie bardzo wiem co.
Licze na Wasza pomoc

edit: dodam jeszcze jedna rzecz, ktora tez podejrzewalem, ze jednak w moim skrypcie, gdzies dalej przez przypadek zamiast przyrownywania jest znak rownosci czy cos i zmienna ustawia sie na menu. Niestety, to tez odpadlo, bo podmiana linijki
if($_POST['pass']==$haslo){ echo "haslo ok"; $_SESSION['tryb']='menu';};
na
if($_POST['pass']==$haslo){ echo "haslo ok"; $_SESSION['tryb']='prasa';};
sprawia, ze tym razem przy kliknieciu na czysty link strony admin.php wracam ciagle do dzialu 'prasa'.



edit2: juz wiem, mialem zamiast $_SESSION['tryb'] funkcje, ktora zwracala ta wartosc i nie wiem dlaczego, ale to ona wszystko psula. Po wywalniu funkcji jak reka odjal. Prosze o usuniecie tematu smile.gif

Ten post edytował atay 21.01.2006, 12:36:34


--------------------
atay
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
.:dR@kE:.
post
Post #2





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 2.01.2006
Skąd: Reda

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


A czy masz na kazdej podstronie na początku:
  1. <?php
  2. ?>

?


--------------------
Fajne Sklepy Internetowe | Wklejacz Kodu | Opisy GG | Super Hosting!!! | Darmowe Blogi
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 Aktualny czas: 20.08.2025 - 22:23