PDA

Ver la Versión Completa : carrito de compras


boss fede
05-07-2006, 19:18:00
Saludos a todos!!!

este script lo encontre en Manual de PHP de WebEstilo.com


<?php
session_start();
session_register('itemsEnCesta');
$item=$_POST['item'];
$cantidad=$_POST['cantidad'];
$itemsEnCesta=$_SESSION['itemsEnCesta'];
if ($item){
if (!isset($itemsEnCesta)){
$itemsEnCesta[$item]=$cantidad;
}else{
foreach($itemsEnCesta as $k => $v){
if ($item==$k){
$itemsEnCesta[$k]+=$cantidad;
$encontrado=1;
}
}
if (!$encontrado) $itemsEnCesta[$item]=$cantidad;
}
}
$_SESSION['itemsEnCesta']=$itemsEnCesta;
?>
<html>
<body>
<tt>
<form action="<?=$PHP_SELF."?".$SID?>" method="post">
Dime el producto <input type='text' name="item" size='20'><br>
Cuantas unidades <input type='text' name='cantidad' size='20'><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 => $v){
echo 'Artículo: '.$k.' ud: '.$v.'<br>';
}
}
?>
</tt>
</body>
</html>


Al ejecutarlo salen los siguientes errores.

Notice: Undefined index: item in D:\programas\Abyss Web Server\htdocs\pruebas\cesta.php on line 4

Notice: Undefined index: cantidad in D:\programas\Abyss Web Server\htdocs\pruebas\cesta.php on line 5

El problema es que no funciona en mi maquina, pero al subirla a algun sitio de hospedaje si funciona.
No tengo problemas con session_start() ni session_register(), el problema son las variables item y cantidad, que me aconsejan hacer?
trabajo con php5
Mil gracias!!!!

dec
06-07-2006, 00:06:14
Hola,

Sobre el "error" que te aparece... se supone que estás tratando de acceder a los valores guardados en el Array "$_POST", concretamente en los índices "item" y "cantidad", empero, esos índices no existen, sencillamente, en el Array "$_POST" no se encuentran esos índices...

¿Soluciones? Pues no sé... el Script que muestras parece necesitar que se le pase a través del Array "$_POST" unos determinados datos... al menos el error que te aparece viene de ahí, como he dicho. Así que tendrás que ver qué está pasando con ese "$_POST"...

Emilio
10-07-2006, 10:05:57
este script lo encontre en Manual de PHP de WebEstilo.com

Tienes un ejemplo más cerca en este enlace (http://www.clubdelphi.com/trucos/index.php?id=65)

No tengo problemas con session_start() ni session_register()

¿entonces para que usas algo que está ya más pasado las patillas?

¿el problema son las variables item y cantidad, que me aconsejan hacer? trabajo con php5

Pues no hacer ni caso al ejemplo ese que encontraste en WebEstilo, mucha gaita para hacer un simple in_array(), seguramente el que escribió ese manual no conocía la función, por otra parte, también te recomiendo no hacer uso de session_register() y pegarle un vistazo al enlace que te he pasado.