[php:1:18fd865ab3]
<?php
session_start();
if( !isset( $_SESSION['licznik'] ) )
$_SESSION['licznik'] = 1; //dziala ok
if( !isset( $_SESSION['zamowienie'] ) )
$_SESSION['zamowienie'] = ''; //dziala ok
$id_prod = $_GET["id"]; //tutaj przejmuje kod produktu dzila ok
$licznik = $_SESSION['licznik']; //dziala ok
$zamowienie = $_SESSION['zamowienie']; // ok
*********
if($id_prod) //tutaj patrze czy id istnieje, to dziala i program wchodzi do warunku
{
print "Kliknales produkt $licznik nr $id_prod"; //to taki tymczasowy dodatek kontrolujacy - dziala
$zamowienie.=$id_prod.'|'; //tutaj doklejam sobie id posczegolnych produktow -- dziala
$_SESSION['zamowienie'] = $zamowienie; //+++++++++++
$_SESSION['licznik']++;
}
else
{
echo "nic";
print " Zamowienie:$zamowienie"; //to zamowienie jest puste mimo ze pobieram jego wartosc z sesji jeszcze przed warunkiem...
}
?>[/php:1:18fd865ab3]
No i problem polega na tym ze dopoki wchodze przez koszyk.php?id=cos tam to wszysstko dziala bez najmniejszego problemu i produkty sie dodaja, licznik sie zwieksza a do zmiennej zamowienie doklejaja sie kolejne id produktow... jednak jesli wchodze na strone poprzez ...koszyk.php czyli nie podaje zadnego id to nie moge wyswietlic dotychczasowej zawartosci "zamowienie" bo jej po porstu nie ma... znika...
Wygląda to tak:
klikam notebooki, wywala mi notebooki, wybieram jeden z nich i dodaje go do koszyka, laduje sie strona koszyka z tym notebookiem, klikam potem np. twarde dyski, wybieram sobie hadeka, dodaje go do koszyka wiec znowu przenosi mnie na strone koszyka i jest wszystko ok, dwa produkty, klikam na pamieci wybieram sobie pamiec, dodaje do koszyka i wyswietla mi 3 produkty ... klikam na linka do strony koszyk.php i nic... znika wszystko... tzn. zmienne znikaja...
W tym przypadku wyswietla sie "nic" bo warunek braku id jest spelniony ale "zamowienie" jest puste ... jest tak obojetnie czy wchodze ze strony koszyk.php na koszyk.php czy z innej podstrony... na kazdej z nich jest start_session() ale to nic nie daje.. poki wchodze przez koszyk.php?id=x to jest ok, a jak wchodze przez koszyk.php to nic nie ma, licznik robi sie na 1 a zamowienie na ''... czyli tak jakby te zmienne wczesniej nie istnialy... tam gdzie wstawilem gwiazdki jesli wpisze print $zamowienie a wejscie bylo bez ?id=costam to tez zmienna jest pusta.. bezsenssu.. nie mam pojecia o co chodzi... bylbym bardzo wdzięczny za jakąś poradę... jak na moj gust to czy wchodze ze zmienna get czy bez zmiennej nie powinno miec zadnego wplywu..

P.S. skrypt dziala bez problemu kiedy wrzucilem go na serwer. w internecie, a po localhoście ni cholery... konfig php.ini sprawdzalem wszystko jest ok, session auto start tez nic nie daje, zreszta na kazdej stronie jest session_start() ... czy ktos kojarzy podobny problem?
I jeszcze jedno pytanie bo pierwszy raz posugługuję się sesjami przez $_SESSION... czy jeśli używam zarejstrowanej zmiennej to muszę ją aktualizować tak jak w linijce oznaczonej ++++++ czy wystarczy normalnie używać tej zmiennej jako $cośtam i sesja zapamieta wartość? Bo u mnie po localhoście jeśli jej tak nie zaktualizuję "$_SESSION["zamowienie"]=$zamowienie", to ineczej wartość nie przechodzi do sesji... być może przez net byłoby ok, skoro działa też to z czym mam problem... HELP