|
| |
| |
Sesiones PHP, Carrito compra
|
| |
| Inicio > Sesiones >
Sesiones PHP, Carrito compra |
|
| |
|
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
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> |
|
|
|
| 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. |
|
| |
|
|
| |
|
|
| |
|
| |
|
| |