Min cookie efter 2 "köp" är:
2565%3A0%3A1
vilket för mig ser ut som endast en produkt. Jag gissar därför att det är fel på den kod som sätter dina cookies.
/nicclas - www.nyhetsrubriker.com
[Redigerat av nicclas den 06 aug 2001]
8 svar · 224 visningar · startad av Hesslow
Kunderna kan bara lägga till en produkt i kundkorgen, varför? Lägger man till fler, försvinner alla utom den senaste=(
Jag är "bara" designern, kan egentligen ingenting om PHP. Därför behöver jag veta vad som är fel, helst en fullfjädrad lösning.
Vet inte vilken fil som problemet ligger i, gissar att det är denna.
<?
if ($HTTP_COOKIE_VARS["_webhallen"] != '') {
?>
<tr>
<td background="bilder/menybottom.gif"><img src="bilder/prick.gif" height="1" width="1"></td>
</tr>
<tr>
<td height="2" bgcolor="#FFFFFF"><img src="bilder/prick.gif" height="2" width="1"></td>
</tr>
<tr>
<td height="15" background="bilder/menytop.gif"><img src="bilder/varukorg.gif" height="6" width="52" hspace="10"></td>
</tr>
<tr>
<td background="bilder/menymiddle.gif" align="right">
<table cellpadding="0" cellspacing="5" border="0" width="132">
<tr>
<td>
<font face="verdana" size="1">
<?
$_products = explode ("|", $HTTP_COOKIE_VARS["_webhallen"]);
$_summa = 0;
foreach ($_products as $_product) {
list ($_id2, $_beg, $_antal) = explode (":", $_product);
if ($_beg == 1) {
$_pris = ", beg";
} elseif ($_beg == 2) {
$_pris = ", nb";
} else {
$_pris = ", price";
}
$_SQLresult = mysql_query ("SELECT name, konsol, genre $_pris from spel WHERE id = '$_id2'");
if (mysql_num_rows ($_SQLresult) > 0) {
$_row = mysql_fetch_row($_SQLresult);
$_summa = $_summa + $_row[3] * $_antal;
echo "<a href='page.php?_id=$_id2'>$_row[0]</a> ";
if ($_antal > 1) {
echo $_antal . " st<br>";
} else {
echo "<br>";
}
}
}
echo "<b>Summa: $_summa kr</b><br><br><a href='change_kundkorg.php?_konsol=$_konsol'>Ändra</a> | <b><a href='kassa.php?_konsol=$_konsol'>Gå till kassan</a>";
?>
</td>
</tr>
</table>
</td>
</tr>
<?
}
?>
Adress till sidan är www.webhallen.se
Snabbt svar är önskvärt.
------------------
/Martin
Min cookie efter 2 "köp" är:
2565%3A0%3A1
vilket för mig ser ut som endast en produkt. Jag gissar därför att det är fel på den kod som sätter dina cookies.
/nicclas - www.nyhetsrubriker.com
[Redigerat av nicclas den 06 aug 2001]
Nej, det tror inte jag ;)
Var läggas produkt-id och beg/inte beg in? Var sätts cookien "_webbhallen"?
[Redigerat av nicclas den 06 aug 2001]
<?
include ("database.php");
$_SQLresult = mysql_query ("SELECT longname, shortname from konsol WHERE id = '$_konsol'");
if (mysql_num_rows ($_SQLresult) > 0) {
$_row = mysql_fetch_row($_SQLresult);
$_konsol_longname = $_row[0];
$_konsol_shortname = $_row[1];
}
if ($_type == '') {
$_type = 2;
}
$_SQLresult = mysql_query ("SELECT longname, shortname from type WHERE id = '$_type'");
if (mysql_num_rows ($_SQLresult) > 0) {
$_row = mysql_fetch_row($_SQLresult);
$_type_longname = $_row[0];
$_type_shortname = $_row[1];
}
include ("head.php");
?>
<table cellpadding="0" cellspacing="0" border="0" width="722">
<tr>
<td width="142" valign="top">
<table cellpadding="0" cellspacing="0" border="0" width="142">
<?
include ("meny_produkt.php");
include ("meny_sok.php");
include ("meny_kundkorg.php");
include ("meny_user.php");
?>
</table>
</td>
<td width="30"><img src="bilder/prick.gif" height="1" width="30"></td>
<td width="551" valign="top">
<table cellpadding="0" cellspacing="0" border="0" width="550">
<tr>
<td height="12" colspan="3"><img src="bilder/prick.gif" height="12" width="1"></td>
</tr>
<tr>
<td width="399" valign="top">
<table cellpadding="0" cellspacing="0" border="0" width="399">
<tr>
<td height="1" width="399"><img src='bilder/prick.gif' width='399' height='1'></td>
</tr>
<tr>
<td background="bilder/middletop_s.gif" height="13" width="399"><img src='bilder/prick.gif' height='1' width='10'><img src='bilder/andrakundkorg.gif' height='5' width='53'></td>
</tr>
<tr>
<td background='bilder/middlebg.gif' width='399' align='center'><form method="post" action="change_kundkorg2.php"><table cellpadding='5' cellspacing='0' border='0' width='397' background='bilder/prick.gif'>
<?
if ($_webhallen == '') {
echo "<tr><td><font face='verdana' size='1'><b>Din kundkorg är tom</td></tr>";
} else {
$_products = explode ("|", $_webhallen);
$_summa = 0;
$_nr = 0;
$_nr2 = 0;
foreach ($_products as $_product) {
if ($_nr2 == 0) {
echo "<tr>";
$_nr2 = 1;
} else {
echo "<tr bgcolor='#FFFFFF'>";
$_nr2 = 0;
}
list ($_id2, $_type2, $_antal) = explode (":", $_product);
if ($_type2 == 1) {
$_pris = ", beg";
} elseif ($_type2 == 2){
$_pris = ", nb";
} else {
$_pris = ", price";
}
$_SQLresult = mysql_query ("SELECT name, konsol, genre $_pris from spel WHERE id = '$_id2'");
if (mysql_num_rows ($_SQLresult) > 0) {
$_row = mysql_fetch_row($_SQLresult);
$_summa = $_summa + $_row[3] * $_antal;
echo "<td width='50'><font face='verdana' size='1'><input type='textbox' name='_pris[$_nr]' value='$_antal' size='3'></td><td><font face='verdana' size='1'><a href='page.php?_konsol=$_row[1]&_type=$_type2&_genre=$_row[2]&_id=$_id2'>$_row[0]</a>";
if ($_type2 == 1) {
echo " - BEG";
}
echo "</td><td><font face='verdana' size='1'><b>$_row[3] kr/st</td><td width='50'><font face='verdana' size='1'><a href='change_kundkorg2.php?_id=$_nr'><img src='bilder/tabort.gif' height='16' width='45' border='0'></a></td></tr>";
}
$_nr = $_nr + 1;
}
}
?>
</table></td></tr>
<?
if ($_webhallen != '') {
?>
<tr><td background='bilder/menybottom.gif' height='1'><img src='bilder/prick.gif' height='1' width='1'></td></tr>
<tr><td height="4"><img src="bilder/prick.gif" height="4" width="1"></td></tr>
<tr><td background='bilder/menybottom.gif' height='1'><img src='bilder/prick.gif' height='1' width='1'></td></tr>
<td background='bilder/middlebg.gif' width='399' align='center'><table cellpadding='5' cellspacing='0' border='0' width='397' background='bilder/prick.gif'><tr><td width="50%"><font face='verdana' size='1'><input type='image' src="bilder/andra2.gif" height="16" width="45" border="0"> <a href='change_kundkorg2.php?_empty=true'><img src="bilder/tom.gif" height="16" width="45" border="0"></a></td><td align="right" width="50%"><font face='verdana' size='1'><b>Summa: <font size='2'><? echo $_summa; ?> kr</td></tr></table></td></tr>
<?
}
?>
<tr><td background='bilder/menybottom.gif' height='1'><img src='bilder/prick.gif' height='1' width='1'></td></tr>
<tr>
<td height="4"><img src="bilder/prick.gif" height="4" width="1"></td>
</tr>
</form>
</table>
</td>
<td width="30"><img src="bilder/prick.gif" height="1" width="30"></td>
<td width="120">
<?
include ("annons.php");
?>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
------------------
/Martin
[Redigerat av Hesslow den 06 aug 2001]
Tror felet ligger i addproduct.php eller forward.php (troligen den första). Hur ser den ut?
Då du lagrar "alla" köp i en cookie, så verkar det ha bivit fel när du skall "appenda" data till den cookie som sattes för första "köpet". Denna kod ligger antagligen i addproduct.php. Kolla efter i den...
<?
require ("database.php");
$_url = $HTTP_REFERER;
if ($_beg == '') {
$_beg = 0;
}
switch ($_beg) {
case 0:
$_price = "price";
break;
case 1:
$_price = "beg";
break;
case 2:
$_price = "nb";
break;
}
$_SQLresult = mysql_query ("SELECT $_price from spel WHERE id = '$_id' LIMIT 1") or die (mysql_error());
if (mysql_num_rows ($_SQLresult)) {
$_row = mysql_fetch_row ($_SQLresult);
}
if ($_id == '' or $_row[0] == 0) {
header ("Location: forward.php?_add=1&_url=$_url&". SID);
exit;
}
if ($webhallen == "") {
//echo "fel";
setcookie ("_webhallen", "$_id:$_beg:1", time()+3600);
} else {
//echo "rätt";
$_products = explode ("|", $webhallen);
$_found = "false";
foreach ($_products as $_product) {
$_id2 = explode (":", $_product);
if ($_id2[0] == $_id and $_beg == $_id2[1]) {
$_id2[2] = $_id2[2] + 1;
$_found = "true";
}
$_product = implode(":", $_id2);
if ($_info == '') {
$_info = $_product;
} else {
$_info = "$_info|$_product";
}
}
if ($_found == "false") {
$_info = "$_info|$_id:$_beg:1";
}
setcookie ("_webhallen", $_info, time()+86400);
}
if ($_url == '') {
$_url = str_replace ("&", "%%", $_url);
} else {
$_url = str_replace ("&", "%%", $_url);
}
header ("Location: forward.php?_id=$_id&_url=$_url&". SID);
?>
------------------
/Martin