Foros del Web » Programando para Internet » PHP »

No puedo enviar variables a carrito de compras

Estas en el tema de No puedo enviar variables a carrito de compras en el foro de PHP en Foros del Web. Estoy tratando de hacer un carrito de compras pero no puedo hacer que almacene los productos que se van seleccionando. Ej: ************************************************** ** ESTE ES ...
  #1 (permalink)  
Antiguo 12/10/2011, 09:01
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
Puntos: 1
No puedo enviar variables a carrito de compras

Estoy tratando de hacer un carrito de compras pero no puedo hacer que almacene los productos que se van seleccionando.


Ej:

************************************************** **
ESTE ES EL CÓDIGO PARA ENVIAR LOS DATOS(lo tengo dentro de una consulta mysql):



<a href="insertar_producto.php?id='.$rowa["codigo_producto"].'&nombre='.$rowa["descripcion"].'&precio='.$rowa["precio"].'">Agregar</a

************************************************** **


cabe aclarar que al hacer click en AGREGAR envía las variables, ya que en la siguiente hoja pongo un "echo" y las muestra


El problema está en que no almacena los datos en el carrito de compras


************************************************** **

CÓD. QUE ALMACENA LAS VARIABLES (este script se encuentra en otro archivo llamado: insertar_producto.php)

<?
include("lib_carrito.php");
$_SESSION["ocarrito"]->introduce_producto($_GET["id"], $_GET["nombre"], $_GET["precio"]);

?>

************************************************** ***

ESTE ES EL CÓDIGO DEL ARCHIVO lib_carrito.php QUE TIENE TODAS LAS FUNCIONES:


<?
class carrito {
//atributos de la clase
var $num_productos;
var $array_id_prod;
var $array_nombre_prod;
var $array_precio_prod;

//constructor. Realiza las tareas de inicializar los objetos cuando se instancian
//inicializa el numero de productos a 0
function carrito () {
$this->num_productos=0;
}

//Introduce un producto en el carrito. Recibe los datos del producto
//Se encarga de introducir los datos en los arrays del objeto carrito
//luego aumenta en 1 el numero de productos
function introduce_producto($id_prod,$nombre_prod,$precio_p rod){
$this->array_id_prod[$this->num_productos]=$id_prod;
$this->array_nombre_prod[$this->num_productos]=$nombre_prod;
$this->array_precio_prod[$this->num_productos]=$precio_prod;
$this->num_productos++;
}

//Muestra el contenido del carrito de la compra
//ademas pone los enlaces para eliminar un producto del carrito
function imprime_carrito(){
$suma = 0;
echo '<table border=1 cellpadding="3">
<tr>
<td><b>Código</b></td>
<td><b>Descripción producto</b></td>
<td><b>Precio</b></td>
<td>&nbsp;</td>
</tr>';
for ($i=0;$i<$this->num_productos;$i++){
if($this->array_id_prod[$i]!=0){
echo '<tr>';
echo "<td>" . $this->array_id_prod[$i] . "</td>";
echo "<td>" . $this->array_nombre_prod[$i] . "</td>";
echo "<td>" . $this->array_precio_prod[$i] . "</td>";
echo "<td><a href='eliminar_producto.php?linea=$i'>Eliminar producto</td>";
echo '</tr>';
$suma += $this->array_precio_prod[$i];
}
}
//muestro el total
echo "<tr><td><b>TOTAL:</b></td><td> <b>$suma</b></td><td>&nbsp;</td></tr>";
//total más IVA
echo "<tr><td><b>IVA (21%):</b></td><td> <b>" . $suma * 1.21 . "</b></td><td>&nbsp;</td></tr>";
echo "</table>";
}

//elimina un producto del carrito. recibe la linea del carrito que debe eliminar
//no lo elimina realmente, simplemente pone a cero el id, para saber que esta en estado retirado
function elimina_producto($linea){
$this->array_id_prod[$linea]=0;
}
}
//inicio la sesión
session_start();
//si no esta creado el objeto carrito en la sesion, lo creo
if (!isset($_SESSION["ocarrito"])){
$_SESSION["ocarrito"] = new carrito();
}
?>



************************************************** **


Agradecería mucho su ayuda ya que aun no logro resolver este inconveniente, recordar que las variables las envía, el problema está en que no las almacena
__________________
"Life goes on..."

Etiquetas: carrito, compras, mysql, variables
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




La zona horaria es GMT -6. Ahora son las 01:14.