Witam,
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='';
echo '<a href='.$url_koszyk.'>'; if ( wyswietl_obrazek($koszyk,\"\",\"\",\"koszyk\")==-1 ){
echo '<font class=opis2 ><u>kontynuuj zakupy</u>     </font><br>'; }
echo '</a><br><br><font class=opis2 >Akceptuję <b><u>regulamin</u></b> sklepu i </font> '; echo '<a href='.$url_zamawiam.'>'; if ( wyswietl_obrazek($zamawiam,\"\",\"\",\"zamawiam\")==-1 ){
echo '<font class=opis2 >    <u>do kasy</u></font>'; }
?>
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;
$agregat=implode('_',$tablica_produktu);
if(!isset($_SESSION['koszyk'])) {
$_SESSION['koszyk'] = array(); $_SESSION['produkty'] = 0;
$_SESSION['calkowita_wartosc'] ='0.00';
}
if(isset($_SESSION['koszyk'][$agregat])){ $_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;
}
if(isset($_POST['zapisz'])) {
foreach($_SESSION['koszyk'] as $agregat=>$ilosc){
if($_POST[$agregat]=='0') {
unset($_SESSION['koszyk'][$agregat]); }
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
{
echo '<br><p align=center><font class=commentary>Koszyk jest pusty</font></p>'; }
echo '<a href='.$url_kontynuuj.'>'; if ( wyswietl_obrazek($kontynuuj,\"\",\"\",\"Kontynuuje zakupy\")==-1 ){
echo '<font class=kup ><u>kontynuuj zakupy</u>     </font>'; }
echo '<a href='.$url_kasa.'>'; if ( wyswietl_obrazek($kasa,\"\",\"\",\"Przechodzi do kasy\")==-1 ){
echo '<font class=kup >    <u>do kasy</u></font>'; }
</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
<?php echo 'LOGIN: '.$_SESSION['login']; ?>
</TD>
<TD width=\"20%\" height=\"100%\" bgcolor=\"white\" valign=\"top\">
<p align=\"center\"><br></p>
Ten post edytował herbatniczek 1.11.2004, 15:30:42