Ver Mensaje Individual
  #8 (permalink)  
Antiguo 16/10/2006, 10:25
Avatar de omegafunky
omegafunky
 
Fecha de Ingreso: diciembre-2003
Ubicación: Tabasco, Mexico
Mensajes: 3.534
Antigüedad: 20 años, 4 meses
Puntos: 33
Hola

la vdd nada sigo sin entender x k no las pasa =( bueno no puse todo el codigo del lib_carrito pero aki c los dejo, espero puedan encontrar donde esta el error ya k yo me hago bolas con eso d elos objetos epenas le estoy agarrando, el codigo esta cual lo copie de desarrolo web bueno me lo baje ya en zip, lo probe y jalaba bien, el problema es cuando kiero meterle mi id alfanumerico, el nombre dle producto largo y con espacios y el precio en formato 200.00 digo k x ahi esta el error.
ejemplo de las variables k paso
id = Mem-king1gb
nombre = memoria de 1gb maraca kingston
precio = 320.00

lib_carrito.php
Código PHP:
<?php
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_prod){
  
$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>Nombre 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_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 (16%):</b></td><td> <b>" $suma 1.16 "</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();
}
?>
mete_producto.php

Código PHP:
<?php
include("lib_carrito.php");
//$_SESSION["ocarrito"]->introduce_producto($_GET["id"], $_GET["nombre"], $_GET["precio"]);
$_SESSION["ocarrito"]->introduce_producto(urldecode($_GET["id"]), $_GET["nombre"], $_GET["precio"]);  
?>
<html>
<head>
 <title>Introduce Producto</title>
</head>
<body>
Producto introducido.
<br>
<br>
<a href="index.php">- Volver</a>
<br>
<br>
<a href="ver_carrito.php">- Ver carrito</a>
</body>
</html>
URL k uso para mandar productos al Carrito
Código PHP:
<a href="mete_producto.php?id=<? echo urlencode($row['id']) ?>&nombre=<? echo urlencode($row['nombre']) ?>&precio=<? echo urlencode($row['precio']) ?>">Comprar</a>