Foros del Web » Programando para Internet » PHP »

Problema con carrito de compra

Estas en el tema de Problema con carrito de compra en el foro de PHP en Foros del Web. Hola tengo un problema con mi carrito de compra, y es que cuando intento borrar un producto de la cesta el dinero si se resta ...
  #1 (permalink)  
Antiguo 17/01/2004, 23:58
 
Fecha de Ingreso: enero-2004
Mensajes: 68
Antigüedad: 13 años, 10 meses
Puntos: 0
Exclamación Problema con carrito de compra

Hola tengo un problema con mi carrito de compra, y es que cuando intento borrar un producto de la cesta el dinero si se resta pero el producto sigue en la lista,, yo no se mucho de php esto lo sake de una aplicacion prefabricada os dejo el codigo del archibo ke creo ke necesitais..
si kereis comprobar el fallo lo podeis acer aqui
'' http://latincards.serveftp.com/ ''

viewcart.php
-----------------------------------------------------------------------
<?
echo "<p class=title><img border=0 src=img/yourshoppingcart.gif></p>
<div align=center>
<table cellspacing=1 width=100% cellpadding=0 bgcolor=brown>
<tr><td align=center valign=top>
<table width=100% cellspacing=1 cellpadding=12 bgcolor=#F0F0F0>
<TBODY>";
$its=explode("^",$HTTP_COOKIE_VARS["mws_cart"]);
$tongtien=0;
for($i=0;$i<sizeof($its)-1;$i++){
$det=explode("|",$its[$i]);
echo "<tr ".getbg($i,'#FFFFFF').">
<td width=1%>$det[0]</td>
<td bgcolor=white width=98%><a href=\"$PHP_SELF?act=viewdetails&id=$det[5]\"><font size=2 color=black><b>$det[1] </b>($det[2])</font></a>
<br> $det[3] $donvi x <input type=text size=2 maxlength=2 name=\"sl_$det[0]\" class=flatinput value=\"$det[4]\"> = " .($det[3]*$det[4]) ." $donvi
<br>Primera opción: [$det[6]] - Segunda opción: [$det[7]]
</td>
<td bgcolor=white width=1%>
<a href=\"coo.php?act=delitem&id=$det[0]\"><img src=img/deletecart.gif border=0></a>
<a href=\"javascript:self.location='coo.php?act=updat e&id=$det[0]&sl='+document.all.sl_$det[0].value+'&opt1=$det[6]&opt2=$det[7]';\"><img src=img/updatecart.gif border=0></a>
</td>
</tr>";
$tongtien=$tongtien+($det[3]*$det[4]);
}
echo "
<tr>
<td width=1%></td>
<td width=99% align=top valign=left>
<input type=button class=flatbutton style=\"background-color:orange;\" value=\" $lang[26] \" onclick=\"if(confirm(' $lang[26] ?','')) self.location='index.php?act=confirm';\">
<br><br>
<br><b>Opciones</b><br>
<input type=button class=flatbutton value=\"Volver a tienda \" onclick=\"self.location='index.php';\">
<br><br>
<b>Herramienta</b>
<input type=button class=flatbutton value=\"$lang[27]\" onclick=\"pop('inc/cal.htm',280,200,1);\">
</td><td width=1% align=top valign=left>
Total: <font size=2 color=red><b>$tongtien</b></font> $donvi
<img src=img/blank.gif width=200 height=1 border=0>
<p><br><br><br></p>
<input type=button class=flatbutton value=\"[X] $lang[28]\" onclick=\"if (confirm('¿Desea usted borrar los productos del carro de compra? ','')) {self.location='coo.php?act=resetcart';}\">
</td></tr>
</TBODY></table></td></tr></table>
";
?>
----------------------------------------------------------------------

MUCHAS GRACIAS POR ADELANTADO
  #2 (permalink)  
Antiguo 18/01/2004, 10:46
 
Fecha de Ingreso: enero-2004
Mensajes: 68
Antigüedad: 13 años, 10 meses
Puntos: 0
nadie save porque pasa eso??
  #3 (permalink)  
Antiguo 18/01/2004, 14:06
 
Fecha de Ingreso: enero-2004
Mensajes: 68
Antigüedad: 13 años, 10 meses
Puntos: 0
me an dicho ke el linck ke e puedto antes va un poko lento tb podeis ver la pagina aky..

http://usuarios.lycos.es/netdeejay/
  #4 (permalink)  
Antiguo 18/01/2004, 19:58
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
En realidad ese código no nos sirve mucho para ver el error... pues este script muestra el contenido del carro, pero no el proceso de "boorado"...

Lo que tienes que postear es el code del archivo llamado "coo.php"

Sobretodo en la parte donde se haga referencia a la variable $_GET['act'] o $HTTP_GET_VARS['act'] o simplemente $act y más específicamante donde se describan las acciones que relizará al tomar el valor "delitem"...

Postea el código que te digo... porque si hay un error, de seguro está ahí...

Saludos
  #5 (permalink)  
Antiguo 18/01/2004, 20:07
 
Fecha de Ingreso: enero-2004
Mensajes: 68
Antigüedad: 13 años, 10 meses
Puntos: 0
Antetodo gracias por contestar!!!!! jpinedo..

Aqui te dejo lo ke necesitas (creo)

coo.php
---------------------------------------------
<link rel=stylesheet href="inc/css.css">
<script src="inc/script.js"></script>

<body bgcolor=white scroll=auto style="border: 0 black sold;">



<table width="100%" height="90%" border="0">
<tr>
<td align="center" valign="middle">

<table width="50%" border="0" bgcolor=#C9580D cellspacing=1 cellpadding=10>
<tr>
<td align="center" valign="middle" bgcolor=#FFE9DA>
<img src="img/icon.gif" alt="Espere .....estamos transfiriendo...."><font size=2><b>HotHardware</b></font><br>
<font face="Arial" size="1" color="gray">....Espere .....estamos transfiriendo.........<br>

<script>
<!--
function run(url) {
setTimeout("top.location.replace('" + url + "');",3000);
}

var today = new Date();
var expiry = new Date(today.getTime() + 28 * 24 * 60 * 60 * 1000);

function setcoo(name, value, url) { // use: setCookie("name", value);
if (value != null && value != "")
document.cookie=name + "=" + escape(value) + "; expires=" + expiry.toGMTString();
run(url);
document.write("Pulse <a href=\""+url+"\"><font size=2><b>aqui</b></font></a> si no quiere esperar ...<br>");
}

-->
</script>

</td>
</tr>
</table>

</td>
</tr>
</table>

<?
include "cfunc.php";


//CONSTANT
$cookiename1="mws_vote";
$cookiename2="mws_auth";
$cookiename3="mws_cart";
$cookiename4="mws_orderform";
$cookielifetime=36000;

//Get config
$cf=file("cf.php");
//Format vars
for($i=1;$i<sizeof($cf);$i++) $cf[$i]=str_replace("\n","",$cf[$i]);
$realau=$cf[1];$realap=$cf[2];$realaemail=$cf[3];$oncell=$cf[4];$maxinpage=$cf[5];
$realurl=$cf[6];$donvi=$cf[7];

//------------------------------------------------------------------------
if($act=='addcart'){
$maxid=0;
$cookievalue=$HTTP_COOKIE_VARS["mws_cart"];
$file=file("$itemsdb");
$s=sizeof($file);
$ss=sizeof($cards);
for($i=0;$i<$ss;$i++){
$ma=explode(";",$cards[$i]);
if($ma[1]!=0){
//Get Card infos
for($j=0;$j<$s;$j++){
$ta=explode("|",$file[$j]);
if($ta[0]==$ma[0]){
$cardid=$ma[0];
$loaicard=$ta[1];
$dongia=$ta[2];
$gia=$ta[3];
$soluong=$ma[1];
}
}
//Get MAX id
$its=explode("^",$HTTP_COOKIE_VARS["mws_cart"]);
for($j=0;$j<=sizeof($its);$j++){
$ma=explode("|",$its[$j]);
if($ma[0]>$maxid) $maxid=$ma[0];
}
$maxid++;
$cookievalue.="$maxid|$loaicard|$dongia|$gia|$solu ong|$cardid|$opt1|$opt2|^";
}
}
echo "\n<script>setcoo('$cookiename3','$cookievalue','i ndex.php?act=viewcart');</script>\n";
}
//------------------------------------------------------------------------
if($act=='delitem' && $id){
$its=explode("^",$HTTP_COOKIE_VARS["mws_cart"]);
for($i=0;$i<sizeof($its)-1;$i++){
$det=explode("|",$its[$i]);
if($id==$det[0]){
$cookievalue=str_replace($its[$i]."^","",$HTTP_COOKIE_VARS["mws_cart"]);
}
}
echo "\n<script>setcoo('$cookiename3','$cookievalue','i ndex.php?act=viewcart');</script>\n";
}
//------------------------------------------------------------------------
if($act=='update' && $id){
$its=explode("^",$HTTP_COOKIE_VARS["mws_cart"]);
for($i=0;$i<sizeof($its)-1;$i++){
$det=explode("|",$its[$i]);
if($id==$det[0]){
$tmps="$det[0]|$det[1]|$det[2]|$det[3]|$sl|$det[5]|$det[6]|$det[7]|";
$cookievalue=str_replace($its[$i],$tmps,$HTTP_COOKIE_VARS["mws_cart"]);
}
}
echo "\n<script>setcoo('$cookiename3','$cookievalue','i ndex.php?act=viewcart');</script>\n";
}
//------------------------------------------------------------------------
if($act=='resetcart'){
echo "\n<script>setcoo('$cookiename3','reseted','index. php?act=viewcart');</script>\n";
}
if($act=='login'){
if($logpass=="" && !$logpass) {
echo "\n<script>run('admin.php?mess=wrongpass');</script>\n";
}
if($logpass!="" && coding($logpass)==$realap){
echo "\n<script>setcoo('$cookiename2','".coding($logpas s)."','admin.php');</script>\n";
}
else {
echo "\n<script>run('admin.php?mess=wrongpass');</script>\n";
}
}
if($act=='logout'){
echo "\n<script>setcoo('$cookiename2','admin_outed','ad min.php');</script>\n";
}
if($act=='saveform'){
$ma="$uname|$uemail|$uadd_a|$uadd_b|$uadd_c|$uadd_ d|$uadd_e|$utel|$paymentinfo|$card_number|$amex_co de|$card_name|$ucomm";
echo "\n<script>setcoo('$cookiename4','$ma','index.php? act=ok&saved=1&ttmode=$ttmode&uname=$uname&uemail= $uemail&uadd_a=$uadd_a&uadd_b=$uadd_b&uadd_c=$uadd _c&uadd_d=$uadd_d&uadd_e=$uadd_e&utel=$utel&paymen tinfo=$paymentinfo&card_type=$card_type&card_numbe r=$card_number&amex_code=$amex_code&card_month=$ca rd_month&card_year=$card_year&card_name=$card_name &ucomm=$ucomm');</script>\n";
}
if($act=='delform'){
echo "\n<script>setcoo('$cookiename4','form_deleted','i ndex.php?act=confirm');</script>\n";
}
if($act=='newlang' && $langff){
$ma=langs_array();
$found=false;
for($i=0;$i<sizeof($ma);$i++){
if($langff==$ma[$i]) $found=true;
}
if($found) echo "\n<script>setcoo('mws_lang','$langff','$HTTP_REFE RER');</script>\n";
else echo "\n<script>setcoo('mws_lang','default','$HTTP_REFE RER');</script>\n";
}
?>
-------------------------------------------------------------------

SALUDOS
  #6 (permalink)  
Antiguo 18/01/2004, 21:38
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
En realidad, sí se borran correctamente.. el único problema aparece cuando se quiere borrar el último artículo...

Es que tu función de JavaScript que actualiza las cookies está restringida a no ingresar valores nulos... y cuando borras el último artículo, en realidad estás actualizando la cookie y cambias su valor por una cadena vacía... y está pasando un value="" por eso no entra a la función...

Eso es lo que tienes que arreglar..

saludos
  #7 (permalink)  
Antiguo 18/01/2004, 22:10
 
Fecha de Ingreso: enero-2004
Mensajes: 68
Antigüedad: 13 años, 10 meses
Puntos: 0
Tienes razon lo unico que no se borra es el ultimo articulo..

Como corrijo este bug ''está pasando un value="" por eso no entra a la función ''

Ando un poco perdido, como lo puedo acer de la forma mas facil??

SALUDOS
  #8 (permalink)  
Antiguo 19/01/2004, 07:26
 
Fecha de Ingreso: enero-2004
Mensajes: 68
Antigüedad: 13 años, 10 meses
Puntos: 0
Porfavor ayudarme a resolver esto ke yo solo no puedo..

GRACIAS POR ADELANTADO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 20:22.