Reciclando para un mejor futuro…

DOCUMENTACIÓN DE LA WEBSITE.

INFORMÁTICA EMPRESARIAL

INSTITUTO TECNOLOGICO DEL VALLE DE OAXACA
MATERIA: INFORMATICA EMPRESARIAL

PROFESOR: L.I.BENEDICTO SANTIAGO RAMIREZ

INTEGRANTES:
-BLANCO HERNANDEZ ANABEL -GIRON REYES LUIS ELIEL -LOPEZ GARCIA ABIGAIL SOCORRO -RODRIGUEZ GASCON ANA -SERNAS JIMENEZ ADAN

TRABAJO:

MANUAL CARRITO DE COMPRA CON PHP DE TIENDA VIRTUAL GECKO

Copyright © Gecko 2010 Derechos Reservados

Página 1

INFORMÁTICA EMPRESARIAL ARCHIVO CLASE CARRITO Para poder usar y acceder a las variables de session iniciamos session.."precio" => "$precio"." .$nombre.= "Producto agregado con exito!!". $productos = $_SESSION['carrito']. if($productos!="") { $productos[]=array("id"=>"$id". "nombre" => "$nombre". class Carrito{ var $salida. Si el valor es diferente de vacio quiere decir que ya existen productos en el carrito así que le insertamos un nuevo producto. $e->getMessage(). } return $this->salida.Reciclando para un mejor futuro… DOCUMENTACIÓN DE LA WEBSITE. } catch (Exception $e) { $this->salida = "Ocurrio un error. } METODO PARA AGREGAR UN NUEVO PRODUCTO AL CARRITO. function Carrito(){ $this->salida="". delo contrario creamos un array de arrays y le insertamos la Copyright © Gecko 2010 Derechos Reservados Página 2 . } else{ $productos = array ( array ("id"=>"$id"."cantidad"=>"$cantidad"). Se define la clase. } Primero obtenemos el valor de la variable de sesión ‘carrito’ y lo almacenamos en la variable ‘productos’. function Agregar_al_Carrito($id. session_register('carrito').. nombre. session_start(). "nombre" => "$nombre"."precio" => "$precio".$precio."cantidad"=>"$cantidad")). Este método recibe el id.$cantidad){ try { $productos = $_SESSION['carrito']. } $_SESSION['carrito'] = $productos. precio y la cantidad del producto que el cliente desea agregar al carrito. $this->salida .

METODO PARA QUITAR UN PRODUCTO DEL CARRITO. if($id_quitar != $id)//Si son diferente se copia al temporal { $array_temporal[] = $valores. Array ( [0] => Array ( [id] => 1abc [nombre] => Anotador chico con l�piz [precio] => 100 [cantidad] => 4 ) [1] => Array ( [id] => 2abc [nombre] => Anotador mediano con l�piz [precio] => 150 [cantidad] => 5 ) [2] => Array ( [id] => 3abc [nombre] => Anotador grande con l�piz [precio] => 200 [cantidad] => 8 ) ) Después de insertar el nuevo producto le asignamos el valor de la variable $productos a la variable de sesión ‘carrito’ con lo cual se actualizara la información de los productos del carrito. function Quitar_del_Carrito($id_quitar){ try { if($_SESSION['carrito']) { $productos = $_SESSION['carrito']. INFORMÁTICA EMPRESARIAL informacion. Por ultimo retornamos un mensaje diciendo que se ha agregado al carrito con éxito.Reciclando para un mejor futuro… DOCUMENTACIÓN DE LA WEBSITE. $_SESSION['carrito'] = $productos. enseguida se muestra la forma en la cual la información se almacena. Copyright © Gecko 2010 Derechos Reservados Página 3 . foreach($productos as $valores) { $id = $valores["id"]. Este método recibe como parámetro el id del producto a quitar. } /*else { No hace nada }*/ } $productos = $array_temporal. la información de cada producto se almacena en un array por lo cual la variable $productos es un array de arrays.

METODO PARA QUITAR UN PRODUCTO DEL CARRITO. $cantidad ." . $cantidad = $valores["cantidad"]. } return $this->salida.. } else { $this->salida . "<br />\n <span class='etiq'>Cantidad: </span>" . foreach($productos as $valores) { $id = $valores["id"]. $this->salida . al llegar al final el carrito se actualiza asignándosele lo de la variable temporal. "<br />\n <span class='etiq'>Nombre: </span>" .= "<div class='carrito'> <p> <span class='etiq'>Clave: </span>" . $nombre = $valores["nombre"].php?operacion=quitar&id_quitar=$id'. para un mejor INFORMÁTICA EMPRESARIAL futuro… $_SESSION['carrito'] = $productos. $this->salida ..= "El carrito esta vacio". } Lo que este método hace algo muy sencillo y se explica enseguida. 'right_content').= "Se ha quitado con exito!!".="<h1 class='t_car'>Los productos de su carrito:</h1>". $id . "<br /> </p> <div class='modificar_car'> <a class='edita_carrito' href=\"javascript:refrescar('carrito. function Mostrar_Carrito(){ try { if($_SESSION['carrito']) { $productos = $_SESSION['carrito']. $this->salida . $precio = $valores["precio"].Reciclando DOCUMENTACIÓN DE LA WEBSITE. $nombre . mediante un ciclo foreach se recorre el carrito compara si el valor que se ha recibido como parámetro 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.\">Quitar</a> <a class='edita_carrito' href=''>Modificar</a> </div> </div>\n". $e->getMessage(). } } catch (Exception $e) { $this->salida = "Ocurrio un error. $precio . "<br />\n <span class='etiq'>Precio: </span>" . } } Copyright © Gecko 2010 Derechos Reservados Página 4 .

$this->salida ."precio" => Copyright © Gecko 2010 Derechos Reservados Página 5 .$cantidad){ try { $productos = $_SESSION['carrito']. } Para mostrar los productos almacenados en el carrito se obtiene el valor de la variable de sesión ‘carrito’. $this->salida="". unset($productos).Reciclando para un mejor futuro… else { $this->salida . session_start(). } function Agregar_al_Carrito($id." .= "Sin nada en el carrito". session_register('carrito').$precio. $e->getMessage().. function Vaciar_Carrito(){ try{ $_SESSION['carrito']="". var $salida.$nombre.= "Ocurrio un error.. } } catch (Exception $e) { DOCUMENTACIÓN DE LA WEBSITE. CLASE COMPLETA. "nombre" => "$nombre". if($productos!="") { $productos[]=array("id"=>"$id". class Carrito{ var $arreglo_de_id_productos.. } return $this->salida. 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 información de cada posición y se estructura de manera que el usuario pueda leerla y se retorna la varible $salida. METODO VACIAR EL CARRITO. si el carrito no contiene nada solo se muestra un mensaje diciendo que el carrito esta vacio. esta información se encuentra estructurada en forma de un arreglo..= "Ocurrio un error." . $e->getMessage(). INFORMÁTICA EMPRESARIAL $this->salida . } catch(Exception $e) { $this->salida .= "Borrado con exito!!". } Lo único que este método realiza es eliminar la variable $productos y a la variable de sesión ‘carrito’ se le asigna “” (vacio). } return $this->salida. function Carrito(){ $this->arreglo_de_id_productos =0.

$e->getMessage(). } return $this->salida. } function Quitar_del_Carrito($id_quitar){ try { if($_SESSION['carrito']) { $productos = $_SESSION['carrito']."precio" => "$precio". para un mejor INFORMÁTICA EMPRESARIAL futuro… "$precio". } else{ $productos = array ( array ("id"=>"$id".= "Producto agregado con exito!!". $this->salida . } else { $this->salida .= "Se ha quitado con exito!!". $this->salida ." . } return $this->salida. "nombre" => "$nombre". } /*else { No hace nada }*/ } $productos = $array_temporal.. } function Mostrar_Carrito(){ try { if($_SESSION['carrito']) { $productos = $_SESSION['carrito']. foreach($productos as $valores) { $id = $valores["id"].= "<div class='carrito'> Copyright © Gecko 2010 Derechos Reservados Página 6 . } } catch (Exception $e) { $this->salida = "Ocurrio un error. if($id_quitar != $id)//Si son diferente se copia al temporal { $array_temporal[] = $valores. } $_SESSION['carrito'] = $productos..="<h1 class='t_car'>Los productos de su carrito:</h1>"."cantidad"=>"$cantidad")). $this->salida ." ..Reciclando DOCUMENTACIÓN DE LA WEBSITE. $precio = $valores["precio"].= "El carrito esta vacio". } catch (Exception $e) { $this->salida = "Ocurrio un error.. $_SESSION['carrito'] = $productos. $nombre = $valores["nombre"]. $e->getMessage()."cantidad"=>"$cantidad"). $cantidad = $valores["cantidad"]. foreach($productos as $valores) { $id = $valores["id"]. $this->salida .

= "Sin nada en el carrito". Mediante el uso de esta Clase podremos separar la parte que se conecta a la base de datos de las demás funciones de la website. } return $this->salida.\">Quitar</a> <a class='edita_carrito' href=''>Modificar</a> </div> </div>\n".php?operacion=quitar&id_quitar=$id'. "<br />\n <span class='etiq'>Precio: </span>" ." .. $e->getMessage(). } } catch (Exception $e) { $this->salida . Definimos la clase... unset($productos). $id . } } else { $this->salida .= "Ocurrio un error. 'right_content'). class Gecko{ var $conexion. Esta clase cuenta con 4 métodos lo cuales se describen a continuación. $e->getMessage(). } CLASE GECKO. } function Vaciar_Carrito(){ try{ $_SESSION['carrito']="". } return $this->salida. } catch(Exception $e) { $this->salida . $this->salida . $cantidad . "<br /> </p> <div class='modificar_car'> <a class='edita_carrito' href=\"javascript:refrescar('carrito." . $precio ..= "Ocurrio un error. $nombre . "<br />\n <span class='etiq'>Nombre: </span>" .= "Borrado con exito!!".Reciclando para un mejor futuro… DOCUMENTACIÓN DE LA WEBSITE. Copyright © Gecko 2010 Derechos Reservados Página 7 . "<br />\n <span class='etiq'>Cantidad: </span>" . var $resultado. INFORMÁTICA EMPRESARIAL <p> <span class='etiq'>Clave: </span>" .

function abre_conexion($servidor. caracteristicas.function function function function Reciclando DOCUMENTACIÓN DE LA WEBSITE.$contrasena) { $this->conexion= mysql_connect($servidor.$usuario.$usuario. Copyright © Gecko 2010 Derechos Reservados Página 8 . } return $salida..$base. $usuario. $salida="". Este método registra un usuario en la tabla usuarios de la base de datos. $e->getMessage(). else $sql = "SELECT id_producto. imagen FROM productos WHERE id_producto = '$producto'". caracteristicas. categoria. Abre la conexión con la base de datos. function obten_productos($producto){ if ($producto=="") $sql = "SELECT id_producto. try{ $this->resultado=mysql_query($sql. mysql_close($this->conexion). } } METODO OBTEN PRODUCTOS. if(!$this->resultado) throw new Exception("Error en la consulta").$contrasena) obten_productos($producto) registra_usuario($nombre_usuario.$email) login($usuario) METODO ABRE CONEXION. categoria. } else { mysql_select_db($base)." . function registra_usuario($nombre_usuario. if (!$this->conexion) { die("No se puede conectar con el servidor: " . Este método se conecta a la base de datos y obtiene los productos. else { $salida = $this->resultado. } } catch (Exception $e) { $salida = "No hay registros.$this->conexion). nombre.$apellidos. } METODO VACIAR REGISTRA USUARIO. mysql_error()).. $password. precio. precio. $password. $contrasena). nombre.$base. imagen FROM productos". $nombre. para un mejor INFORMÁTICA EMPRESARIAL futuro… abre_conexion($servidor.

$salida="".$email){ $sql = "INSERT INTO usuarios (nombre_usuario.= "No se puedo registrar". para un mejor INFORMÁTICA EMPRESARIAL futuro… $nombre.$this->conexion). $afectados = mysql_affected_rows().".Reciclando DOCUMENTACIÓN DE LA WEBSITE. } } catch (Exception $e) { $salida = "Error: " . try{ $sql ="SELECT nombre_usuario.password. Copyright © Gecko 2010 Derechos Reservados Página 9 . $this->resultado= mysql_query($sql. Para poder acceder a los recursos de la WebSite como las promociones y descripción de los productos se reserva el derecho a los usuarios registrados para lo cual nos sirve este método. } Recibe el nombre de usuario y consulta en la base de datos. } return $salida. $e->getMessage(). $afectados .$apellidos.'$email')".="Se han actualizado: ". } METODO LOGIN. retornando el password. $datos = mysql_fetch_array($this->resultado).'$apellidos'. $salida = $datos.nombre.$this->conexion).apellidos. para su posterior comparación. function login($usuario){ $salida ="". }catch(Exception $e) { $salida = "Error: " . try{ $this->resultado=mysql_query($sql. password FROM usuarios WHERE nombre_usuario = '$usuario'". } else { $salida . "registro(s). mysql_close($this->conexion). } return $salida. $e->getMessage().'$passw ord'.'$nombre'. if($afectados!=-1) { $salida .correo)VALUES('$nombre_usuario'.

}). jQuery().show(). equalTo: "#password" }.Reciclando para un mejor futuro… DOCUMENTACIÓN DE LA WEBSITE.por favor espere</p><img src="images/loading6..gif" alt="loading. email: { required: true. }).validate( { rules:{ user:{ required: true }.ajaxStart(function() { loader.ajaxStop(function() { loader.. email: true } }.ready( function(){ //Validacion del formulario de registro $("#frm_registro"). $(document). apellidos:{ required: true }.. INFORMÁTICA EMPRESARIAL VALIDACIÓN DE LOS FORMULARIOS MEDIANTE JQUERY Con ayuda del plugin de validación de formularios del Framework jQuery se imprentaron reglas las cuales se cargan después de que el documento está listo y las cuales se muestran enseguida." />') .php" }.ajaxError(function(a. }). submitHandler: function(form) { jQuery(form). pass:{ required: true Copyright © Gecko 2010 Derechos Reservados Página 10 . } } ). nombre:{ required: true }.ajaxSubmit({ target: "#right_content" }). password:{ required: true.hide().hide().appendTo("#proceso") . b. // show a simple loading indicator var loader = jQuery('</br><p>Procesando. $("#login"). minlength: 5 }. password_rpt: { required: true. e) { throw e.validate( { rules:{ usuario:{ required: true //remote: "disponibilidad_user..

} function problemas() { $("#right_content"). digits:true } }.ajaxSubmit({ target: "#right_content" }) } }).html('<img src="images/cargando. DOCUMENTACIÓN DE LA WEBSITE.text(datos).'). } }). x.text('Problemas en el servidor.gif">').validate( { rules:{ cantidad:{ required: true. submitHandler: function(form) { jQuery(form). INFORMÁTICA EMPRESARIAL function inicioEnvio() { var x=$("#right_content"). Copyright © Gecko 2010 Derechos Reservados Página 11 .ajaxSubmit({ target: "#usuarios" }).Reciclando para un mejor futuro… } }. } //Validacion del formulario de pedido $("#pedido"). } function llegadaDatos(datos) { $("#right_content"). submitHandler:function(form){ jQuery(form).

Reciclando para un mejor futuro… DOCUMENTACIÓN DE LA WEBSITE. INFORMÁTICA EMPRESARIAL MODELO RELACIONAL DE LA BASE DE DATOS Copyright © Gecko 2010 Derechos Reservados Página 12 .

PHP Como lenguaje de programacion web para la creacion de paguinas web dinamicas.es Copyright © Gecko 2010 Derechos Reservados Página 13 .Reciclando para un mejor futuro… DOCUMENTACIÓN DE LA WEBSITE. manipulacion de sesiones y conexión a base de datos Mysql Como motor de base de datos AJAX jQuery Framework CSS Hojas De Estilo Cascada librosweb. INFORMÁTICA EMPRESARIAL RECURSOS UTILIZADOS .

Sign up to vote on this title
UsefulNot useful