Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sesje w PHP
Forum PHP.pl > Forum > PHP
Brzózka
Witam.

Jestem poczatkujacym w dziedzinie jezyka php. Bylbym bardzo wdzieczny za pomoc. Do pewnego momentu wszelkie problemy potrafilem sam rozgryzc ale to mnie juz przerasta.
Mam taki problem z sesjami w php. Otóż gdy w naglowku html widnieje taki zapis:
Kod
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">

to sesje w php nie chca dzialac poprawnie. Sesja jest wywolywana na samym poczatku skryptow funkcja session_register();
Problem polega na tym, ze gdy klikne na jakies lacze np. prowadzace ze strony xxx.php na strone yyy.php wyswietla sie pusta strona. Adres w przegladarce internetowej pozostaje xxx.php.
Gdy calkowicie wyeliminuje deklaracje META dotyczaca strony kodowej lub zamienie ja na:
Kod
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=windows-1250">

wszystko dziala jak nalezy. Jednak zalezy mi na tym aby strony byly kodowane jako iso-8859-2. Problem istnieje zarowno na php pod Windowsem jak i na Linuxie. Nawet po wrzuceniu skryptow na serwer firmy hostingowej problem nadal sie pojawia. Czym to moze byc spowodowane? Moze istnieje jakis inny sposob na ustawienie strony kodowej na iso-8859-2? Moze istnieje do tego celu jakas funkcja w php? Za wszelka pomoc bardzo dziekuje.

Pozdrawiam.
kossa
Witam,

Ten blad nie jest zwiazany z kodowaniam!

Utworz sobie plik session.php:

Kod
<?php

  session_start();

  session_register("link");

?>


a w swoim projekcie za kazdym razem niech bedzie includowany:

Kod
include ("session.php");



Z drugiej jednak strony sesje nie sa potrzebne jezeli masz statyczne linki.

Jezeli masz na stronie xxx.php link <a href='yyy.php'>yyy</a> to ta strona powina wyswietlic sie bez problemu.

Napisz dokladniej do czego potrzebne sa Tobie zmienne sesji w linkach!

Pozdrawiam
Kossa
Brzózka
Dziekuje za odpowiedz.
Odbiegne teraz troche od mojego projektu a opisze projekt, ktory zostal wykonany przez fachowcow. Otoz w ksiazce "php i MySQL. Tworzenie stron WWW" wydawnictwa Helion znajduje sie przyklad sklepu internetowego. Testowalem go u siebie i wszystko dziala jak nalezy. Ale gdy zmienie tylko jedna linie kodu nie php a HTML:
Kod
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">

na:
Kod
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">

pojawia sie opisany w pierwszym moim poscie problem.
Powyzsza linia kodu HTML jest dolaczana razem z pelnym naglowkiem HTML do wszystkich dynamicznie generowanych stron w postaci funkcji tworz_naglowek_html(); zdefiniowanej w pliku x.php za pomoca funkcji include('x.php'); i wywolywana w skryptach.
Podsumowujac podkreslam ze problem pojawia sie tylko po zamianie strony kodowej. Dziwna sprawa. Kompletnie nie wiem o co chodzi. Prosze o pomoc.

Pozdrawiam.
janek
Brzózka,

Również jestem początujący i tak się składa że również zaczynałem moją przygodę z php od tej książki co Ty.

Sprawdziłem to u mnie i wiesz co- działa. Jeżeli pamiętam to zmienne sesji wykorzystywane są w tym przykładzie do zapamiętywania co masz w danej chwili w koszyku zakupów. U mnie po zmianie na "charset=iso-8859-2" wszystko jest tak jak na początku.

Przy tej książce jedno uratowało mi życie- pliki z ftp://ftp.helion.pl/przyklady/phmsql.zip (zobacz strona 30 książki pod "Kody źródłowe"). Pliki zawierają wszystkie opisane projekty książki. Zrób tą zmianę o której pisałeś w tych plikach i zobacz czy chodzi.

Przy okazji- w kodach w książce jak i w plikach do ściągnięcia jest kilka błędów, więc nie traktuj ich jako 100% pewnik.

Daj znać jaki jest rezultat.

Pozdrawiam,
Brzózka
Dzieki za wszelkie info.
Janek, ja jednak swoja przygode z php zaczynalem od ksiazki "PHP4 Od podstaw" rowniez wydawnictwa Helion. "php i MySQL ..." to byla moja druga kniga na ten temat. Wydaje mi sie ze Helion jest najlepszym wydawnictwem informatycznym, nawet mimo tych sporych bledow w ksiazkach.
Ja rowniez korzystalem z plikow na serwerze Heliona. I za cholere nie moge dojsc co jest nie tak?
Ale dziekuje Ci bardzo, Twoja odpowiedz jest dla mnie wielce pomocna. Teraz chociaz wiem ze ten problem wystepuje tylko u mnie. Mam do Ciebie jeszcze pytanie w jakim systemie uruchamiales php z tym sklepem z ksiazki? Jezeli Windows to jaki? Jaka wersja php? Z gory dzieki.

Pozdrawiam.
janek
Windows 2000 Prof.
php 4.3.0

Jedyna ważniejsza zmiana w konfiguracji php to register_globals=on - ale to w tym konkretnym przypadku chyba nie ma znaczenia.
alikw
Mam ten sam problem tylko najdziwniejsze jest to że nie występuje on przy każdym pliku w którym jest strona kodowa iso.
Nie rozumiem dlaczego w jednym pliku działa a w drugim nie questionmark.gif
Moze ktoś zna na to odpowiedź questionmark.gif
alikw
Jeszcze jedno: jak się odświeży stronę to wtedy pojawia sie to co trzeba
zalew
hmm... mialem cos takeigo.... wgralem na serw plik index.php... wchodze i mam krzaki... wszedlem drugi raz i dobrze juz na zawsze... tylko z plikiem index.php tak mialem... a nawet nie uzywalem w nim zadnych sesji... questionmark.gif
alikw
to troche co innego, u mnie na początku sie pojawia a potem przy ponownym wywołaniu nie przeładowuje sie strona. Najdziwniejsze jest to że tak sie dzieje tylko z niektórymi plikami questionmark.gif
DeyV
A może wklej cały problematyczny kod?
alikw
Nie sądze żeby to w czymś pomogło, wg mnie nie chodzi tutaj o sam kod wystarczy usunac jedna linie
Kod
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">

A wszystko działa ok.
pozostałe pliki mają taką samą strukturę i działają
Brzózka
Wiecie co, reinstalacja serwerow Apache z php oraz MySQL rozwiazala problem.
Dzieki.

Pozdrawiam.
alikw
Tzn, że to jest wina serwera, czyli powinienem napisać do administratora mojego serwera o jego reinstalacje questionmark.gif
Brzózka
W moim przypadku reinstalacja pomogla.
Problem pojawial sie rowniez na serwerze pewnej firmy hostingowej, ale tylko dlatego ze mialem uruchomiony na swoim komputerze w tle wlasnie ten "wadliwy" serwer www z php oraz MySQLa. Po reinstalacji wszystko dziala jak nalezy.
alikw
dziwne jest tylko to,że raz ten problem wystepuje a raz nie questionmark.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.