 
			
				11/07/2006, 02:56
			
			
			     |  
      |    |    |    Fecha de Ingreso: noviembre-2005  
						Mensajes: 312
					  Antigüedad: 20 años Puntos: 1     |        |  
  |      Hola Azrael:   
Gracias por contestar.  He probado lo que me dices y parece que manda bien los datos del formulario y los números parecen números vamos.  De todas formas te paso el código del carrito en php y te mando el código de formulario aunque no creo que esto sea relevante:   
Carrito (inspirado en un código que ví):   
<?php   
class carrito { 
   	var $libroscomprados; 
	var $camisetascompradas; 
	var $productoscomprados; 
	var $gastosdeenvio; 
	var $importetotal; 
	// Arrays donde vamos almacenando los datos de los productos del carrito. 
   	var $ids=array(); 
   	var $productos=array(); 
	var $cantidades=array(); 
	var $importes=array();   
	// Función con la que inicializamos las variables generales.   
	function carrito () { 
   		$this->libroscomprados=0; 
		$this->camisetascompradas=0; 
		$this->productoscomprados=0; 
		$this->gastosdeenvio=3; 
		$this->importetotal=0; 
	}   
	// Función con la que calculamos el importe total.   
	function calcularImporteTotal() { 
		$importe=0; 
		//for ($clave = 0; $clave <= $this->productoscomprados; $clave++) 
		foreach ($this->ids as $clave => $valor) { 
			if ($this->ids[$clave] !=0) { 
				$importe += $this->importes[$clave]; 
			} 
		} 
		$this->importetotal=$importe; 
	}   
	// Función con la que añadimos los datos del producto en el carrito de compra.   
	function anadirAlCarrito($id, $producto, $cantidad, $precio) { 
		//$pos = array_search($id, $this->ids, true);		 
		if (in_array($id, $this->ids)) { 
			echo "si"; 
		} else { echo "no"; } 
		/*foreach ($this->ids as $clave => $valor) { 
			if ($this->ids[$clave] == $id) 
				$pos = $clave; 
		}*/   
		/*echo "VALOR DE POS: " . $pos;   
		if ($pos == 0) {		 
			$this->ids[$this->productoscomprados]=$id; 
			$this->productos[$this->productoscomprados]=$producto; 
			$this->cantidades[$this->productoscomprados]=$cantidad; 
			$this->importes[$this->productoscomprados]=($cantidad * $precio); 
		} else { 
			$this->cantidades[$this->pos] += $cantidad; 
			$this->importes[$this->pos] += ($cantidad * $precio); 
		}*/   
		//$this->importetotal += $this->importes[$this->productoscomprados];   
		if ($id == 'c1' || $id == 'c2' || $id == 'c3' || $id == 'c4' || $id == 'c5') { 
			$this->camisetascompradas++; 
		} else { 
			$this->libroscomprados++; 
		}   
		$this->productoscomprados++;   
		if ($this->libroscomprados >= 5) { 
			$this->gastosdeenvio=0; 
		}   
		$this->calcularImporteTotal(); 
	}   
	// Función con la que quitamos un producto del carrito de compra.   
	function quitarDelCarrito($posicion) { 
		if ($this->ids[$posicion] == 'c1' || $this->ids[$posicion] == 'c2' || $this->ids[$posicion] == 'c3' || $this->ids[$posicion] == 'c4' || $this->ids[$posicion] == 'c5') { 
			$this->camisetascompradas--;		 
		} else { 
			$this->libroscomprados--; 
		}   
		$this->productoscomprados--;   
		if ($this->libroscomprados >= 5) { 
			$this->gastosdeenvio=0; 
		}   
		$this->ids[$posicion]=0; 
		/*unset($this->productos[$posicion]); 
		unset($this->cantidades[$posicion]); 
		unset($this->importes[$posicion]);*/   
		$this->calcularImporteTotal(); 
	}   
	// Función con la que vacíamos el carrito de compra.   
	function vaciarCarrito() { 
		foreach ($this->ids as $clave => $valor) { 
   			$this->ids[$clave]=0; 
			/*unset($this->productos[$clave]); 
			unset($this->cantidades[$clave]); 
			unset($this->importes[$clave]);*/ 
		} 
		$this->productoscomprados=0; 
		$this->camisetascompradas=0; 
		$this->libroscomprados=0; 
		$this->calcularImporteTotal(); 
	}   
	// Función con la que visualizamos el carrito en cada página.   
	function verCarrito() { 
		if ($this->productoscomprados == 0) { 
			echo "Carrito vacío."; 
		} else { 
			echo "Libro/s: " . $this->libroscomprados . "<br>"; 
			echo "Camiseta/s: " . $this->camisetascompradas . "<br>"; 
			/*echo "Productos: " . $this->productoscomprados . "<br>";*/ 
			echo "Total: " . $this->importetotal . " €"; 
		} 
	}   
	// Función con la que visualizamos con detalle el carrito de compra para su confirmación.   
	function verDetalleDelCarrito(){ 
		if ($this->productoscomprados == 0) { 
			echo "Carrito vacío."; 
		} else { 
			/*echo "<script language='javascript'>"; 
			echo "function esNumero(numero) {"; 
			echo "if (!) {"; 
			echo "window.alert('Introduce un número entero.');"; 
			echo "window.document.carrito.ejemplares.focus();"; 
			echo "} else { refrescar la página. }"; 
			echo "}</script>";*/ 
			echo "<form name='carrito' method='post' action='pedido.php'>"; 
			echo "<table border='0' cellpadding='1' cellspacing='5'> 
					    	<tr> 
						 		<td> </td> 
						    	<td>Producto:</td> 
								<td>Cantidad:</td> 
								<td>Importe:</td> 
							</tr>"; 
			//for ($clave = 0; $clave <= $this->productoscomprados; $clave++) { 
			foreach ($this->ids as $clave => $valor) { 
				if ($this->ids[$clave] != 0) { 
					echo "<tr>"; 
					echo "<td align='left' width='100'>" . $this->productos[$clave] . "</td>"; 
					//echo '<td>' . $this->cantidades[$clave] . '</td>'; 
					echo "<td align='left' width='50'><input type='text' size='5' name='ejemplares' value='" . $this->cantidades[$clave] . "'></td>"; 
					echo "<td><input type='button' value='Actualizar' onclick='javascript:esNumero(window.document.carri  to.ejemplares.value);'></td"; 
					echo "<td>" . $this->importes[$clave] . "</td>"; 
					echo "<td><a href='quitarlibro.php?id=$clave&url=" . $_SERVER["PHP_SELF"] . "'>Quitar</td>"; 
					echo "</tr>"; 
					//$this->importetotal += $this->importes[$clave]; 
				} 
			} 
			$this->calcularImporteTotal(); 
			echo "<tr><td colspan='3'> </td></tr>"; 
			echo "<tr><td colspan='2'>Importe total:</td><td>" . $this->importetotal . "</td></tr></table>"; 
			echo "<br><div align='right'><input type='submit' value='Confirmar pedido'></div>"; 
			echo "</form>"; 
		} 
	} 
} 
//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(); 
} 
?>   
Formulario: 
... 
<form name="carrito" method="post" action="../../../comprar.php"> 
							<input type="hidden" name="id" value="1"><input type="hidden" name="producto" value="Por qué se perdió la República: Memorias 1916-1939"> 
							<input type="hidden" name="cantidad" value="1"><input type="hidden" name="precio" value="12"> 
							<input type="hidden" name="url" value="<?php echo $_SERVER['PHP_SELF']; ?>"><a href="#" onclick="window.document.carrito.submit();" title="Añadir al carrito">Comprar</a> 
						</form> 
...   
En comprar.php hay esto básicamente: 
... 
$_SESSION["ocarrito"]->anadirAlCarrito($_POST["id"], $_POST["producto"], $_POST["cantidad"], $_POST["precio"]); 
...   
No sé si será mucho código de momento me estoy centrado en la inserción de los datos en el carrito me faltan funciones para otras cosas.   
Un saludo y muchas gracias.           |