Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Zmienna w sesji, Gdzie się podziewa zmienna sesyjna?
karolusgt
post 30.01.2009, 02:22:27
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 24.08.2008

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


Hej.
Ja pewnie z błahą sprawą. Mam problem ze zmienną sesyjną. Mianowicie muszę przetłumaczyć stronkę z samochodami na kilka języków. Samochody są podzielone na grupy(różne strony). Każda strona zaczyna się od poniższego kodu:
Kod
<?PHP
session_register();
if (!isset($_SESSION['jezyk']))
         {
                                                       // jeśli zmienna nie jest zarejestrowana
         $_SESSION['jezyk'] ='polski';   // przypisz wartość
         }      
$jezyk2=$_SESSION['jezyk']; // dla wygody
?>

Na stronie znajdują się flagi, po kliknięciu których zmienia się język na stronie. Dzieje się to za pomocą:
Kod
<?php
session_register();
$_SESSION['jezyk'] ='angielski';   // przypisz wartość  
include('index.php');
?>


Jak widać ani długie ani skomplikowane. Dla mnie jednak owszem sciana.gif . Po wybraniu języka na stronie zmienia się co trzeba. Jednak jeśli wybiorę język angielski a następnie kliknę na link do innej kategorii samochodów (strony są identyczne), to język ponownie powraca do wartości 'polski'. I tu pojawia się mój problem. Co zrobić żeby strona zapamiętywała ostatnio wybrany język? Dlaczego po każdej zmianie kategorii język wraca do języka polskiego?
Z góry dzięki wielkie dla MĄDRYCH ludzi za wsparcie smile.gif
Pozdrowionka guitar.gif


// poprawiłem tytuł bo go zwyczajnie nie podałeś
// proszę, pamiętaj o tym w przyszłości
// ayeo
Go to the top of the page
+Quote Post
isso
post 30.01.2009, 02:52:01
Post #2





Grupa: Zarejestrowani
Postów: 296
Pomógł: 32
Dołączył: 3.01.2005

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


a masz na stronach session_start(); ?


--------------------
Go to the top of the page
+Quote Post
karolusgt
post 30.01.2009, 03:37:51
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 24.08.2008

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


A to nie to samo przypadkiem? Z tego co wiem to bardzo zbliżone funkcje. session_start() używałem, ale po zmianie kategorii wyskakiwał mi komunikat że sesja już była nawiązana i zignorowano próbę ponownego jej nawiązania. Więc zmieniłem. Ale mogę być w błędzie!!!
Go to the top of the page
+Quote Post
EarthCitizen
post 30.01.2009, 03:57:37
Post #4





Grupa: Zarejestrowani
Postów: 286
Pomógł: 70
Dołączył: 13.01.2009

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


Cytat
wyskakiwał mi komunikat że sesja już była nawiązana i zignorowano próbę ponownego jej nawiązania.

Żeby zignorować ten komunikat użyj:
  1. <?php
  2. error_reporting(E_ALL ^E_NOTICE);
  3. ?>


Więcej na temat error_reporting() http://php.net.pl/manual/pl/function.error-reporting.php
Go to the top of the page
+Quote Post
Chrom
post 30.01.2009, 07:01:34
Post #5





Grupa: Zarejestrowani
Postów: 240
Pomógł: 17
Dołączył: 28.12.2005
Skąd: Warszawa

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


Cytat z manuala "session_register — Zarejestruj jedną lub więcej zmiennych globalnych w bieżącej sesji"
czyli za każdym razem starasz się zainicjować nową sesję poprzez przypisanie wartości daj session_start(); na początku i powinno być ok.

Ten post edytował Chrom 30.01.2009, 07:02:13
Go to the top of the page
+Quote Post
ferrero2
post 30.01.2009, 08:27:07
Post #6





Grupa: Zarejestrowani
Postów: 171
Pomógł: 32
Dołączył: 5.08.2008
Skąd: Lublin

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


session_start(); na początku skryptu w każdej podstronie + sprawdzenie linków w skrypcie.

Jeżeli masz kodowanie UTF8 na stronie to upewnij się (np. za pomocą notepad++) czy nie wysyłasz tzw. BOM. To jest najczęstrzy problem przy sesjach przy tym kodowaniu. Nigdy nie musiałem używać error_reporting(E_ALL ^E_NOTICE);

Pozdrawiam



--------------------
---------------------------
"Jeżeli trzeci dzień z rzędu nie chce Ci się pracować tzn że dziś jest ŚRODA !
Algorytmy , Programowanie , Tworzenie WWW - SPRAWDŹ
Go to the top of the page
+Quote Post
karolusgt
post 30.01.2009, 11:44:40
Post #7





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 24.08.2008

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


Kurcze to forum jest niesamowite!!!!!!!
Nie wiem po raz który uzyskałem tu pomoc.
Jak zwykle 1-2 drobne zmiany w kodzie i wszystko działa.

LUDZIE JESTEŚCIE NIESAMOWICI!!!!!
Są w tym kraju jeszcze Życzliwi ludzie czarodziej.gif
Z góry jeszcze raz dzięki wszystkim smile.gif
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: 26.04.2024 - 07:55