Wiem, że szablony niosą za sobą ryzyko problemu w sesji, ale książka nie opisuje dokładnie jakie. Wszystko funkcjonuje od strony index.php która przechwytuje parametr "strona" i ustawia w centrum tą strone. index includuje gora.inc, lewa.inc, glowna.inc, prawa.inc i glowna jest zamieniana na parametr "strona". To chyba napotkałem problem. Sklepik internetowy, jeszcze nie gotowy, ale pierwszy problem, jaki napotkałem to znikający koszyk. Wszysko jest w porządku gdy:
1 Ładuje produkty do kosza
2 ogladam kosz index.php?strona=koszyk
3 przechodze do kasy index.php?strona=kasa
kasa.inc
<?php $koszyk='obrazki/kosz_big.gif'; $zamawiam ='obrazki/zamawiam.gif'; $url_koszyk='index.php?strona=koszyk'; $url_zamawiam=''; if ( wyswietl_obrazek($koszyk,\"\",\"\",\"koszyk\")==-1 ){ } if ( wyswietl_obrazek($zamawiam,\"\",\"\",\"zamawiam\")==-1 ){ } ?>
w kasie koszyk jest widziany
I teraz jak WRACAM DO KOSZYKA, TO GINIE KOSZYK, a oto kod koszyka:
koszyk.inc
<br> <TABLE border=\"0\" width=100% align=\"center\" cellspacing=0 cellpadding=0> <TBODY> <TR> <TD valign=\"top\"> <p align=\"center\"> <font class=title>Twój koszyk </font></p> <?php <?php @ $prodID=$_GET['prodID']; @ $katID=$_GET['katID']; $kontynuuj='obrazki/kontynuuj.gif'; $kasa='obrazki/kasa.gif'; $url_kasa='index.php?strona=kasa'; { $tablica_produktu[0]= $katID ; $tablica_produktu[1]= $prodID; { $_SESSION['produkty'] = 0; $_SESSION['calkowita_wartosc'] ='0.00'; } $_SESSION['koszyk'][$agregat]++; } else { $_SESSION['koszyk'][$agregat] = 1; } $_SESSION['calkowita_wartosc'] = oblicz_wartosc($_SESSION['koszyk']); $_SESSION['produkty'] = oblicz_produkty($_SESSION['koszyk']); $url_kontynuuj = 'index.php'; // jeżeli do koszyka został właśnie dodany przedmiot // kontynuacja zakupów w danej kategorii $url_kontynuuj = 'index.php?strona=kategorie&katID='.$katID; } { foreach($_SESSION['koszyk'] as $agregat=>$ilosc){ if($_POST[$agregat]=='0') { } else { $_SESSION['koszyk'][$agregat] = $_POST[$agregat]; } } $_SESSION['calkowita_wartosc'] = oblicz_wartosc($_SESSION['koszyk']); $_SESSION['produkty'] = oblicz_produkty($_SESSION['koszyk']); } if($_SESSION['koszyk']&&array_count_values($_SESSION['koszyk'])) ///TU GO WYWALA!! { wyswietl_koszyk($_SESSION['koszyk']); } else { } if ( wyswietl_obrazek($kontynuuj,\"\",\"\",\"Kontynuuje zakupy\")==-1 ){ } if ( wyswietl_obrazek($kasa,\"\",\"\",\"Przechodzi do kasy\")==-1 ){ } </TD> </TR> </TBODY> </TABLE> </TD> <TD width=20% height=100% bgcolor=\"white\" valign=\"top\"> <p align=\"center\"><br></p>
Co ciekawe przy logowaniu ustawiam w sesji login działa przez calutki czas, i wyświelta sie nas stronie głównej index.php?strona=glowna jak ją otworze.
glowna.inc:
wysyłam teskt tralalala do przeglądarki przed kodem php </TD> <TD width=\"20%\" height=\"100%\" bgcolor=\"white\" valign=\"top\"> <p align=\"center\"><br></p>