[php] troche o sesjach

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
TRACK
Posty: 13
Rejestracja: ndz sie 10, 2003 7:49 pm

[php] troche o sesjach

Post autor: TRACK »

Witam wszyskich grupowiczow. Mam problem z poprawnym dzialaniem mojej strony. Mianowicie strona musi oblugiwac trzy jezyki. Na samym poczatku strony jest:

session_start();
if($lang == "") $lg = "pl";
session_register('lg');

if($lang != $_SESSION['lg'] AND $lang != "")
{
session_unset();
}

if($_SESSION[lg] == "")
{
$lg = $lang;
session_register('lg');
}

Pozniej odpowiednio jaki jezyk jest wybrany wyswietlaja sie napisy w menu. Problem zaczyna sie w momecie, gdy na strone do ramki wrzucany jest plik. W pliku tym jest umieszczony kod PHP, ktory powinien w zaleznosci od zmiennej sesyjnej wyswietlac odpowiedni tekst. Niestety tak sie nie dzieje. Dlaczego? Oczywiscie warunki wygladaja w nastepujacy sposob:

if($_SESSION['lg'] == "pl")
{
echo "Jakis tekst po polsku.";
}

if($_SESSION['lg'] == "en")
{
echo "Jakis tekst po angielsku";
}

Nie mam pojecia co moze byc nie tak. Z gory dziekuje za pomoc.

Pozdrawiam...
Yataman
Posty: 19
Rejestracja: pn sty 26, 2004 7:58 pm

Re: [php] troche o sesjach

Post autor: Yataman »

Funkcja session_register wymaga dwóch parametrów session_register(nazwa_zmiennej,wartość zmiennej).... przynajmniej ja byłem tak szkolony.
TRACK
Posty: 13
Rejestracja: ndz sie 10, 2003 7:49 pm

Re: [php] troche o sesjach

Post autor: TRACK »

Wszystko jest fajnie. Zmienne sie rejestruja w sesji, tylko problem jest gdy w pliku mam warunki z ich uzyciem i wtedy nie dziala, a jest normalnie zarejestrowana. Czy nie dziala dlatego, ze plik wrzucany jest do ramki na stronie?
misz
Przelotem
Przelotem
Posty: 380
Rejestracja: śr lip 10, 2002 10:38 pm
Lokalizacja: wawa
Kontakt:

Re: [php] troche o sesjach

Post autor: misz »

zacznijmy od tego ze sesja jest "widoczna" dopiero po przeladowaniu strony - czyli jesli w dokumencie rejestrujesz sesje nie mozesz jej od razu wywolac a niestety musisz jeszcze raz przeladowac okno.
TRACK
Posty: 13
Rejestracja: ndz sie 10, 2003 7:49 pm

Re: [php] troche o sesjach

Post autor: TRACK »

Wiem, ale to takze nie dziala i nie mam zielonego pojecia dlaczego...
misz
Przelotem
Przelotem
Posty: 380
Rejestracja: śr lip 10, 2002 10:38 pm
Lokalizacja: wawa
Kontakt:

Re: [php] troche o sesjach

Post autor: misz »

przed sesion_start() nie moze byc ani grama kodu html, najlepiej gdyby i php nie bylo.
misz
Przelotem
Przelotem
Posty: 380
Rejestracja: śr lip 10, 2002 10:38 pm
Lokalizacja: wawa
Kontakt:

Re: [php] troche o sesjach

Post autor: misz »

i sprobuj session_register(lg); bez ' - na moim serwerze z apostrofami nie chcialo dzialac
TRACK
Posty: 13
Rejestracja: ndz sie 10, 2003 7:49 pm

Re: [php] troche o sesjach

Post autor: TRACK »

Zmienne w sesji rejestruja sie dobrze, bo sprawdzam to przed wyswietleniem strony, a raczej wyrzucam na ekran, aktualna zmienna odpowiedzialna za jezyk na stronie. Problem jest w momecie, gdy zmienna zawiera sie w warunku, ktora tresc strony wyswietlic....
ODPOWIEDZ