Foros del Web » Programando para Internet » PHP »

Ayuda con carrito

Estas en el tema de Ayuda con carrito en el foro de PHP en Foros del Web. Hola a todos, me pueden ayudar con mi problema porfavor, tengo el carrito de webestilo (un poco modificado) y me funciona bien, sin ningun tipo ...
  #1 (permalink)  
Antiguo 17/05/2003, 00:33
Avatar de pabloman  
Fecha de Ingreso: enero-2003
Ubicación: Temuko
Mensajes: 54
Antigüedad: 21 años, 2 meses
Puntos: 0
Información Ayuda con carrito

Hola a todos, me pueden ayudar con mi problema porfavor, tengo el carrito de webestilo (un poco modificado) y me funciona bien, sin ningun tipo de errores:
carrito webestilo:
Código PHP:
<?
session_start
();
session_register('itemsEnCesta');
if (
$_POST["producto"])
//comprobamos si existe algún producto 
if (!isset($itemsEnCesta))  {
  
$items["producto"]=$_POST["producto"];
  
$items["cantidad"]=$_POST["cantidad"];
  
$items["cuotas"]=$_POST["cuota"];
  
$items["comentario"]=$_POST["coment"];
  
$itemsEnCesta= array($items);  }
  else { 
//recorremos su contenido, con el foreach, y si encontramos un artículo igual, añadimos la cantidad...
  
foreach($itemsEnCesta as $ind => $item_v)  {
      if (
$item_v["producto"]==$_POST["producto"])  {
      
$itemsEnCesta[$ind]["cantidad"]+=$_POST["cantidad"];
      
$encontrado=1;  }
// Si no lo encontramos, es un nuevo artículo, por lo tanto, añadimos el nuevo producto con la correspondiente cantidad a compra
  
if (!$encontrado)  {
     
$items["producto"]=$_POST["producto"];
     
$items["cantidad"]=$_POST["cantidad"];
     
$items["cuotas"]=$_POST["cuota"];
     
$items["comentario"]=$_POST["coment"];
     
$itemsEnCesta[]=$items;  }
  } 
// cierra el else
}
?>
<html><body>
<form action="<?=$PHP_SELF."?".$SID?>" method="post">
  Ingresa el producto <input type="text" name="producto" size="20"><br>
  Ingresa la cantidad <input type="text" name="cantidad" size="5"><br>
  Ingresa el Nº de cuotas <input type="text" name="cuota" size="5"><br>
  Ingresa comentario <input type="text" name="coment" size="25"><br>
  <input type="submit" value="Añadir a la cesta"><br>
</form>
<?
if (isset($itemsEnCesta))  {
 echo
'El contenido de la cesta de la compra es:<br>';
 foreach(
$itemsEnCesta as $k => $items)  {
    foreach(
$items as $tipo => $value) {
      echo 
$tipo.': '.$value.' ';  }
      echo 
"<br>";
    }
}
?>
</body></html>
hasta aki todo bien, en mis aplicaciones abro una sesion de la siguiente forma:

sesion.php
Código PHP:
<?
include ("conexx.php"); // se conecta a la BD, $var_usu y $var_con los traigo de otro form
$ssql "SELECT * FROM usuarios WHERE login='$var_usu' and password='$var_con'";
$rs mysql_query($ssql,$conex);
if (
mysql_num_rows($rs)!=0)  { //si la ejecución del SQL es != 0, existe el user y pass
  
session_start(); //defino una sesion y guardo datos
  
$_SESSION['compra']="si";
  
header ("Location: carrito.php? cod=$cod&calculo=$calculo&resultado=$resultado"); //envia 3 variables a carrito.php
}
else {
 
header("Location: registrarse.php?errorusuario=si"); //si no existe... 
}
?>
de sesion.php traigo las 3 variables deberia añadir a mi carrito, este es el codigo:

carrito.php
Código PHP:
<?
   
include ("conexx.php"); // se conecta a la BD
   
session_start(); 
   
$compra=$_SESSION['compra']; // asignamos a $variable la variable de la session áctiva.
?>

html>
<head>
  <title></title>
</head>
<body>
<?php
// la sesion ya esta abierta y compra="si"
if (($compra)=="si"){

//****** de aki para abajo aplico carrito webestilo(o al menos lo intento) *******

if ($_POST["$cod"])
//comprobamos si existe algún articulo 
    
if (!isset($compra))    {
        
$items["producto"]=$_POST["$cod"];
    
$items["cuotas"]=$_POST["$calculo"];
    
$items["resultado"]=$_POST["$resultado"];
    
$compra= array($items);  }
    else  { 
//recorremos su contenido, con el foreach, y si encontramos un artículo igual, añadimos las cuotas...
     
foreach($compra as $ind => $item_v)  {
    if (
$item_v["producto"]==$_POST["$cod"])  {
             
$compra[$ind]["cuotas"]+=$_POST["$calculo"];
        
$encontrado=1;  }
    } 
// Si no lo encontramos, es un nuevo artículo, por lo tanto, añadimos el nuevo producto con la correspondiente cuota a compra
    
if (!$encontrado)  {
                   
$items["producto"]=$_POST["$cod"];
          
$items["cuotas"]=$_POST["$calculo"];
       
$items["resultado"]=$_POST["$resultado"];
       
$compra= array($items);  }
    } 
// cierra el else
}
 
// ***** aki deberia mostrar la compra*********
if (isset($compra))  {
   echo
'El contenido de la cesta de la compra es:<br>';
   foreach(
$compra as $k => $items)    {
       foreach(
$items as $tipo => $value)    {
             echo 
$tipo.': '.$value.' ';  }
             echo 
"<br>";
    }
}
?>
</body>
</html>
pero me da el siguiente mensaje:
Warning: Invalid argument supplied for foreach() in c:\apache\htdocs\pruebas_php\open_sess.php on line xx

en donde la linea xx es: foreach($compra as $k => $items) {
Pueden ayudarme porfavor, gracias (al menos por leerme)

Bye bye.-
__________________
Cuando creo aprender algo, mas me doy cuenta que nada se...

Última edición por pabloman; 17/05/2003 a las 02:28
  #2 (permalink)  
Antiguo 17/05/2003, 02:05
Avatar de drcyber  
Fecha de Ingreso: julio-2002
Mensajes: 826
Antigüedad: 21 años, 8 meses
Puntos: 2
Ya habías colocado ese mensaje anteriormente. Con colocarlo una sola vez es suficiente.

En caso de que tuviese algún error simplemente debes editarlo.

Saludos...
__________________
Dr. Cyber
Ingeniarte.com
(soy el mismo Takitei)
  #3 (permalink)  
Antiguo 17/05/2003, 02:17
Avatar de pabloman  
Fecha de Ingreso: enero-2003
Ubicación: Temuko
Mensajes: 54
Antigüedad: 21 años, 2 meses
Puntos: 0
La verdad es que tiene razon pero a esta hora de la noche ya no proceso bien y diablos necesito ayuda con esto!!!, intente hacer mi propio carro pero la verdad es que me falta aprender mucho todavia, en fin el que se apiade de mi y tenga un conocimiento superior que me ayude,

Bye dr. cyber.... (tomate una polar por mi je,je,je)

AYUDAAAA PLEASEEEEEEE!!!!!!!
__________________
Cuando creo aprender algo, mas me doy cuenta que nada se...

Última edición por pabloman; 17/05/2003 a las 13:10
  #4 (permalink)  
Antiguo 17/05/2003, 17:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Mensaje cerrado por duplicidad con:

http://www.forosdelweb.com/showthrea...hreadid=131117

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 11:13.