![]() |
![]() |
![]() ![]()
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 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 296 Pomógł: 32 Dołączył: 3.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
a masz na stronach session_start(); ?
|
|
|
![]()
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!!!
|
|
|
![]()
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:
Więcej na temat error_reporting() http://php.net.pl/manual/pl/function.error-reporting.php |
|
|
![]()
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 |
|
|
![]()
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 |
|
|
![]()
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) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 01:31 |