Informatica

Páginas: 14 (3264 palabras) Publicado: 19 de septiembre de 2010
Nuestro objetivo es construir un carro de compras muy simple para ver su funcionamiento. Luego, cada uno de ustedes podrá
adaptarlo a sus necesidades y/o mejorarlo para que sea más cómodo para el usuario.
Pueden ver el ejemplo en marcha de lo que vamos a hacer aquí.
Antes de empezar veremos, de manera resumida, para qué se utilizan las sesiones:
Las sesiones nos permiten registrar unnúmero arbitrario de variables que se conservan durante toda la visita de un usuario a una página web. Dichas variables pueden ser diferentes para cada usuario, ya que están referenciadas por un identificador único que se le asigna a cada visitante. En otras palabras, una sesión es una manera de almacenar variables de manera temporal, semejante a una cookie, pero con ciertas diferencias: las cookies sealmacenan en la PC del usuario y pueden desactivarse; las sesiones, en cambio, se almacenan temporalmente en el servidor, en un fichero que se crea en el momento en que almacenamos la variable. Sabiendo esto, ya estamos en condiciones de entender cómo va a funcionar nuestro carro de compras.

Primero crearemos en mysql una tabla para nuestro catálogo de artículos:
 
000  |create table catalogo (id int not null auto_increment primary key,producto varchar(100),precio decimal(9,2)) Maximizar  Seleccionar  SQL |
 
También vamos a necesitar algunas imágenes para ayudar visualmente al usuario que va a utilizar nuestro carrito (en el ejemplo vamos a utilizar estas, luego cada uno las reemplaza por las que quiera):

Imagen de producto no agregado al carrito: productonoagregado.gifImagen de producto agregado: productoagregado.gif

Botón para eliminar un producto del carrito:trash.gif

Botón para actualizar las cantidades de un producto agregado: actualizar.gif

Botón para continuar la selección de artículos: continuar.gif

Botón para ver el contenido del carrito: vercarrito.gif

Con estos elementos, podemos crear el archivo agregacar.php, que nos servirá paraintroducir productos dentro del carro (y para modificar sus cantidades) y que contendrá el siguiente código:
<?php  
session_start(); 
//con session_start() creamos la sesión 
//si no existe o la retomamos si ya ha 
//sido creada 
extract($_REQUEST); 
//la función extract toma las claves 
//de una matriz asoiativa y las 
//convierte en nombres de variable, //asignándoles a esas variables 
//valores iguales a los que tenía 
//asociados en la matriz. Es decir, 
//convierte a $_GET['id'] en $id, 
//sin que tengamos que tomarnos el 
//trabajo de escribir 
//$id=$_GET['id'];  
mysql_connect("localhost","usuario","password"); 
mysql_select_db("db"); 
//incluímos la conexión a nuestra 
//base de datos 
if(!isset($cantidad)){$cantidad=1;} 
//Como también vamos a usar este //archivo para actualizar las 
//cantidades, hacemos que cuando 
//la misma no esté indicada sea 
//igual a 1 
$qry=mysql_query("select * from catalogo where  
id='".$id."'"); 
$row=mysql_fetch_array($qry); 
//Si ya hemos introducido algún 
//producto en el carro lo 
//tendremos guardado temporalmente 
//en el array superglobal 
//$_SESSION['carro'], de manera //que rescatamos los valores de 
//dicho array y se los asignamos 
//a la variable $carro, previa  
//comprobación con isset de que 
//$_SESSION['carro'] ya haya sido 
//definida 
if(isset($_SESSION['carro'])) 
$carro=$_SESSION['carro']; 
//Ahora introducimos el nuevo 
//producto en la matriz $carro, 
//utilizando como índice el id 
//del producto en cuestión, 
//encriptado con md5. //Utilizamos md5 porque genera 
//un valor alfanumérico que luego, 
//cuando busquemos un producto 
//en particular dentro de la 
//matriz, no podrá ser confundido 
//con la posición que ocupa dentro 
//de dicha matriz, como podría 
//ocurrir si fuera sólo numérico. 
//Cabe aclarar que si el producto 
//ya había sido agregado antes, 
//los nuevos valores que le 
//asignemos reemplazarán a los ...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Informatica
  • Informatica
  • Informatica
  • Informatica
  • Informatica
  • Informática
  • Informatica
  • Informatica

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS