Professional Documents
Culture Documents
DOCUMENTACIN DE LA WEBSITE.
INFORMTICA EMPRESARIAL
INTEGRANTES:
-BLANCO HERNANDEZ ANABEL -GIRON REYES LUIS ELIEL -LOPEZ GARCIA ABIGAIL SOCORRO -RODRIGUEZ GASCON ANA -SERNAS JIMENEZ ADAN
TRABAJO:
Pgina 1
DOCUMENTACIN DE LA WEBSITE.
INFORMTICA EMPRESARIAL
Se define la clase.
class Carrito{ var $salida; function Carrito(){ $this->salida=""; }
METODO PARA AGREGAR UN NUEVO PRODUCTO AL CARRITO. Este mtodo recibe el id, nombre, precio y la cantidad del producto que el cliente desea agregar al carrito.
function Agregar_al_Carrito($id,$nombre,$precio,$cantidad){ try { $productos = $_SESSION['carrito']; if($productos!="") { $productos[]=array("id"=>"$id", "nombre" => "$nombre","precio" => "$precio","cantidad"=>"$cantidad"); } else{ $productos = array ( array ("id"=>"$id", "nombre" => "$nombre","precio" => "$precio","cantidad"=>"$cantidad")); } $_SESSION['carrito'] = $productos; $this->salida .= "Producto agregado con exito!!"; } catch (Exception $e) { $this->salida = "Ocurrio un error..." . $e->getMessage(); } return $this->salida; }
Si el valor es diferente de vacio quiere decir que ya existen productos en el carrito as que le insertamos un nuevo producto, delo contrario creamos un array de arrays y le insertamos la
Pgina 2
DOCUMENTACIN DE LA WEBSITE.
INFORMTICA EMPRESARIAL
informacion, la informacin de cada producto se almacena en un array por lo cual la variable $productos es un array de arrays, enseguida se muestra la forma en la cual la informacin se almacena.
Array ( [0] => Array ( [id] => 1abc [nombre] => Anotador chico con lpiz [precio] => 100 [cantidad] => 4 ) [1] => Array ( [id] => 2abc [nombre] => Anotador mediano con lpiz [precio] => 150 [cantidad] => 5 ) [2] => Array ( [id] => 3abc [nombre] => Anotador grande con lpiz [precio] => 200 [cantidad] => 8 ) )
Despus de insertar el nuevo producto le asignamos el valor de la variable $productos a la variable de sesin carrito con lo cual se actualizara la informacin de los productos del carrito.
$_SESSION['carrito'] = $productos;
Por ultimo retornamos un mensaje diciendo que se ha agregado al carrito con xito. METODO PARA QUITAR UN PRODUCTO DEL CARRITO. Este mtodo recibe como parmetro el id del producto a quitar.
function Quitar_del_Carrito($id_quitar){ try { if($_SESSION['carrito']) { $productos = $_SESSION['carrito']; foreach($productos as $valores) { $id = $valores["id"]; if($id_quitar != $id)//Si son diferente se copia al temporal { $array_temporal[] = $valores; } /*else { No hace nada }*/ } $productos = $array_temporal;
Pgina 3
Reciclando DOCUMENTACIN DE LA WEBSITE. para un mejor INFORMTICA EMPRESARIAL futuro $_SESSION['carrito'] = $productos; $this->salida .= "Se ha quitado con exito!!"; } else { $this->salida .= "El carrito esta vacio"; } } catch (Exception $e) { $this->salida = "Ocurrio un error..." . $e->getMessage(); } return $this->salida; }
Lo que este mtodo hace algo muy sencillo y se explica enseguida, mediante un ciclo foreach se recorre el carrito compara si el valor que se ha recibido como parmetro y el que esta almacenado en el carrito son diferentes se almacena el registro en una variable temporal de lo contrario (son iguales) el ciclo continua hasta llegar al final y se ignora el que es igual, al llegar al final el carrito se actualiza asignndosele lo de la variable temporal. METODO PARA QUITAR UN PRODUCTO DEL CARRITO.
function Mostrar_Carrito(){ try { if($_SESSION['carrito']) { $productos = $_SESSION['carrito']; $this->salida .="<h1 class='t_car'>Los productos de su carrito:</h1>"; foreach($productos as $valores) { $id = $valores["id"]; $nombre = $valores["nombre"]; $precio = $valores["precio"]; $cantidad = $valores["cantidad"]; $this->salida .= "<div class='carrito'> <p> <span class='etiq'>Clave: </span>" . $id . "<br />\n <span class='etiq'>Nombre: </span>" . $nombre . "<br />\n <span class='etiq'>Precio: </span>" . $precio . "<br />\n <span class='etiq'>Cantidad: </span>" . $cantidad . "<br /> </p> <div class='modificar_car'> <a class='edita_carrito' href=\"javascript:refrescar('carrito.php?operacion=quitar&id_quitar=$id', 'right_content');\">Quitar</a> <a class='edita_carrito' href=''>Modificar</a> </div> </div>\n"; } }
Pgina 4
Reciclando para un mejor futuro else { $this->salida .= "Sin nada en el carrito"; } } catch (Exception $e) {
DOCUMENTACIN DE LA WEBSITE.
INFORMTICA EMPRESARIAL
Para mostrar los productos almacenados en el carrito se obtiene el valor de la variable de sesin carrito, esta informacin se encuentra estructurada en forma de un arreglo, para acceder a cada elemento y mostrarlo de manera legible se recorre el arreglo con un ciclo foreach y se obtiene cada elemento (producto) y se extrae la informacin de cada posicin y se estructura de manera que el usuario pueda leerla y se retorna la varible $salida, si el carrito no contiene nada solo se muestra un mensaje diciendo que el carrito esta vacio.
Lo nico que este mtodo realiza es eliminar la variable $productos y a la variable de sesin carrito se le asigna (vacio).
CLASE COMPLETA.
session_start(); session_register('carrito'); class Carrito{ var $arreglo_de_id_productos; var $salida; function Carrito(){ $this->arreglo_de_id_productos =0; $this->salida=""; } function Agregar_al_Carrito($id,$nombre,$precio,$cantidad){ try { $productos = $_SESSION['carrito']; if($productos!="") { $productos[]=array("id"=>"$id", "nombre" => "$nombre","precio" =>
Pgina 5
Reciclando DOCUMENTACIN DE LA WEBSITE. para un mejor INFORMTICA EMPRESARIAL futuro "$precio","cantidad"=>"$cantidad"); } else{ $productos = array ( array ("id"=>"$id", "nombre" => "$nombre","precio" => "$precio","cantidad"=>"$cantidad")); } $_SESSION['carrito'] = $productos; $this->salida .= "Producto agregado con exito!!"; } catch (Exception $e) { $this->salida = "Ocurrio un error..." . $e->getMessage(); } return $this->salida; } function Quitar_del_Carrito($id_quitar){ try { if($_SESSION['carrito']) { $productos = $_SESSION['carrito']; foreach($productos as $valores) { $id = $valores["id"]; if($id_quitar != $id)//Si son diferente se copia al temporal { $array_temporal[] = $valores; } /*else { No hace nada }*/ } $productos = $array_temporal; $_SESSION['carrito'] = $productos; $this->salida .= "Se ha quitado con exito!!"; } else { $this->salida .= "El carrito esta vacio"; } } catch (Exception $e) { $this->salida = "Ocurrio un error..." . $e->getMessage(); } return $this->salida; } function Mostrar_Carrito(){ try { if($_SESSION['carrito']) { $productos = $_SESSION['carrito']; $this->salida .="<h1 class='t_car'>Los productos de su carrito:</h1>"; foreach($productos as $valores) { $id = $valores["id"]; $nombre = $valores["nombre"]; $precio = $valores["precio"]; $cantidad = $valores["cantidad"]; $this->salida .= "<div class='carrito'>
Pgina 6
DOCUMENTACIN DE LA WEBSITE.
INFORMTICA EMPRESARIAL
<p> <span class='etiq'>Clave: </span>" .
$id . "<br />\n <span class='etiq'>Nombre: </span>" . $nombre . "<br />\n <span class='etiq'>Precio: </span>" . $precio . "<br />\n <span class='etiq'>Cantidad: </span>" . $cantidad . "<br /> </p> <div class='modificar_car'> <a class='edita_carrito' href=\"javascript:refrescar('carrito.php?operacion=quitar&id_quitar=$id', 'right_content');\">Quitar</a> <a class='edita_carrito' href=''>Modificar</a> </div> </div>\n"; } } else { $this->salida .= "Sin nada en el carrito"; } } catch (Exception $e) { $this->salida .= "Ocurrio un error..." . $e->getMessage(); } return $this->salida; } function Vaciar_Carrito(){ try{ $_SESSION['carrito']=""; unset($productos); $this->salida .= "Borrado con exito!!"; } catch(Exception $e) { $this->salida .= "Ocurrio un error..." . $e->getMessage(); } return $this->salida; }
CLASE GECKO.
Mediante el uso de esta Clase podremos separar la parte que se conecta a la base de datos de las dems funciones de la website. Definimos la clase.
class Gecko{ var $conexion; var $resultado;
Pgina 7
Reciclando DOCUMENTACIN DE LA WEBSITE. para un mejor INFORMTICA EMPRESARIAL futuro abre_conexion($servidor,$base,$usuario,$contrasena) obten_productos($producto) registra_usuario($nombre_usuario, $password, $nombre,$apellidos,$email) login($usuario)
METODO OBTEN PRODUCTOS. Este mtodo se conecta a la base de datos y obtiene los productos.
function obten_productos($producto){ if ($producto=="") $sql = "SELECT id_producto, nombre, precio, caracteristicas, categoria, imagen FROM productos"; else $sql = "SELECT id_producto, nombre, precio, caracteristicas, categoria, imagen FROM productos WHERE id_producto = '$producto'"; $salida=""; try{ $this->resultado=mysql_query($sql,$this->conexion); if(!$this->resultado) throw new Exception("Error en la consulta"); else { $salida = $this->resultado; } } catch (Exception $e) { $salida = "No hay registros..." . $e->getMessage(); } return $salida; mysql_close($this->conexion); }
METODO VACIAR REGISTRA USUARIO. Este mtodo registra un usuario en la tabla usuarios de la base de datos.
function registra_usuario($nombre_usuario, $password,
Pgina 8
Reciclando DOCUMENTACIN DE LA WEBSITE. para un mejor INFORMTICA EMPRESARIAL futuro $nombre,$apellidos,$email){ $sql = "INSERT INTO usuarios (nombre_usuario,password,nombre,apellidos,correo)VALUES('$nombre_usuario','$passw ord','$nombre','$apellidos','$email')"; $salida=""; try{ $this->resultado=mysql_query($sql,$this->conexion); $afectados = mysql_affected_rows(); if($afectados!=-1) { $salida .="Se han actualizado: ". $afectados . "registro(s)."; } else { $salida .= "No se puedo registrar"; } } catch (Exception $e) { $salida = "Error: " . $e->getMessage(); } return $salida; mysql_close($this->conexion); }
METODO LOGIN. Para poder acceder a los recursos de la WebSite como las promociones y descripcin de los productos se reserva el derecho a los usuarios registrados para lo cual nos sirve este mtodo.
function login($usuario){ $salida =""; try{ $sql ="SELECT nombre_usuario, password FROM usuarios WHERE nombre_usuario = '$usuario'"; $this->resultado= mysql_query($sql,$this->conexion); $datos = mysql_fetch_array($this->resultado); $salida = $datos; }catch(Exception $e) { $salida = "Error: " . $e->getMessage(); } return $salida; }
Recibe el nombre de usuario y consulta en la base de datos, retornando el password, para su posterior comparacin.
Pgina 9
DOCUMENTACIN DE LA WEBSITE.
INFORMTICA EMPRESARIAL
Pgina 10
Reciclando para un mejor futuro } }, submitHandler: function(form) { jQuery(form).ajaxSubmit({ target: "#usuarios" }); } });
DOCUMENTACIN DE LA WEBSITE.
INFORMTICA EMPRESARIAL
function inicioEnvio() { var x=$("#right_content"); x.html('<img src="images/cargando.gif">'); } function llegadaDatos(datos) { $("#right_content").text(datos); } function problemas() { $("#right_content").text('Problemas en el servidor.'); } //Validacion del formulario de pedido $("#pedido").validate( { rules:{ cantidad:{ required: true, digits:true } }, submitHandler:function(form){ jQuery(form).ajaxSubmit({ target: "#right_content" }) } });
Pgina 11
DOCUMENTACIN DE LA WEBSITE.
INFORMTICA EMPRESARIAL
Pgina 12
DOCUMENTACIN DE LA WEBSITE.
INFORMTICA EMPRESARIAL
RECURSOS UTILIZADOS .
PHP Como lenguaje de programacion web para la creacion de paguinas web dinamicas, manipulacion de sesiones y conexin a base de datos Mysql Como motor de base de datos
AJAX
jQuery Framework
Pgina 13