image
Valora:   4.4/5 de 80
Inicio » PHP » Manual de PHP » Sesiones




Carrito de compra

Por: Jose Valle

Si despu�s de todo lo comentado a�n no entiendes para que sirven las sesiones, veamos un ejemplo pr�ctico. Imagina que quisieras crear un sistema de cesta de la compra, en su forma b�sica podr�a ser algo as�:

<?php echo "<!--781045403133461796-->"; ?>
<?php echo "<!--22587178160525160-->"; ?>
<?php // Manual de PHP de WebEstilo.com
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>


Ejecutar ejemplo Ver c�digo fuente

Una breve explicaci�n. En la l�nea 4 comprobamos si el usuario ha pasado alg�n art�culo, desde el formulario. En la 5 si el array itemsEnCesta no existe, lo creamos con el nuevo producto y la cantidad indicada. Si el array existe recorremos su contenido, entre las l�neas 8 y 13, y si encontramos un art�culo igual, a�adimos la cantidad en la l�nea 10. Si no lo encontramos, es un nuevo art�culo, por lo tanto, a�adimos el nuevo producto con la correspondiente cantidad a itemsEnCesta en la l�nea 14.

Y a continuaci�n imprimimos el formulario y los resultados, si los hubiera, a partir de la l�nea 18, donde empieza el HTML.

�Te imaginas las posibilidades de un sistema de almacenamiento de informaci�n de estas caracter�sticas?. No necesitas ficheros, ni bases de datos, ni tienes que andar pasando valores de una p�gina a otra. PHP va gestionando estos datos por nosotros, hasta el momento en que decidamos almacenar la informaci�n donde m�s nos interese.

Estas son las funcionalidades b�sicas de las sesiones, espero que te haya resultado ilustrativo y no olvides consultar el resto de funciones asociadas al uso de sesiones en el manual de PHP.






Comparte


Aportaciones de usuarios A�adir una aportaci�n



Enlaces
Cocina Facil IngenieroSoftware.com  
 
Valid HTML 4.01!
Última modificación:31 de Agosto de 2017. Spain - Espa�a.
© 1998-2004 por . Todos los derechos reservados.