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
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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Pozdrowionka (IMG:http://forum.php.pl/style_emoticons/default/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
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
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
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
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
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

Go to the top of the page
+Quote Post
karolusgt
post
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 (IMG:http://forum.php.pl/style_emoticons/default/czarodziej.gif)
Z góry jeszcze raz dzięki wszystkim (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 23:38