20
DesarrolloWeb.com > Manuales > Taller de PHP ej. css Buscar Panel Control Cerrar Sesión Hola Elias07 Por Andrés Fernández 26 de septiembre de 2007 28 Comentarios Scripts en PHP 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. Carro de Compras en PHP 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 un nú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 se almacenan 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: create table catalogo (id int not null auto_increment primary key,producto varchar(100),precio decimal(9,2))

Carro de Compras en PHP

Embed Size (px)

DESCRIPTION

Manual util para hacer un carro de compra en linea con php y mysql

Citation preview

  • DesarrolloWeb.com > Manuales > Taller de PHP

    ej. css Buscar

    Panel Control Cerrar Sesin

    Hola Elias07

    Por Andrs Fernndez

    26 de septiembre de 2007 28 Comentarios Scripts en PHP

    Nuestro objetivo es construir un carro de compras muy simple, paraver su funcionamiento. Luego, cada uno de ustedes podr adaptarlo asus necesidades y/o mejorarlo para que sea ms cmodo para elusuario.

    Carro de Compras en PHP

    Pueden ver el ejemplo en marcha de lo quevamos a hacer aqu. Antes de empezar veremos, de maneraresumida, para qu se utilizan las sesiones: Las sesiones nos permiten registrar un nmeroarbitrario de variables que se conservan durantetoda la visita de un usuario a una pgina web.Dichas variables pueden ser diferentes paracada usuario, ya que estn referenciadas por unidentificador nico que se le asigna a cadavisitante. En otras palabras, una sesin es una

    manera de almacenar variables de manera temporal, semejante a una cookie, pero conciertas diferencias: las cookies se almacenan en la PC del usuario y pueden desactivarse; lassesiones, en cambio, se almacenan temporalmente en el servidor, en un fichero que secrea en el momento en que almacenamos la variable. Sabiendo esto, ya estamos encondiciones de entender cmo va a funcionar nuestro carro de compras.

    Primero crearemos en mysql una tabla para nuestro catlogo de artculos:

    create table catalogo (id int not null auto_increment primary key,producto

    varchar(100),precio decimal(9,2))

  • varchar(100),precio decimal(9,2))

    Tambin vamos a necesitar algunas imgenes para ayudar visualmente al usuario que va autilizar nuestro carrito (en el ejemplo vamos a utilizar estas, luego cada uno las reemplazapor las que quiera):

    Imagen de producto no agregado al carrito: productonoagregado.gif

    Imagen de producto agregado: productoagregado.gif

    Botn para eliminar un producto del carrito: trash.gif

    Botn para actualizar las cantidades de un producto agregado: actualizar.gif

    Botn para continuar la seleccin de artculos: continuar.gif

    Botn 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 elsiguiente cdigo:

  • //sin que tengamos que tomarnos el

    //trabajo de escribir

    //$id=$_GET['id'];

    mysql_connect("localhost","usuario","password");

    mysql_select_db("db");

    //inclumos la conexin a nuestra

    //base de datos

    if(!isset($cantidad)){$cantidad=1;}

    //Como tambin 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 algn

    //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

    //comprobacin 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 cuestin,

    //encriptado con md5.

    //Utilizamos md5 porque genera

    //un valor alfanumrico que luego,

    //cuando busquemos un producto

    //en particular dentro de la

    //matriz, no podr ser confundido

    //con la posicin que ocupa dentro

    //de dicha matriz, como podra

  • //ocurrir si fuera slo numrico.

    //Cabe aclarar que si el producto

    //ya haba sido agregado antes,

    //los nuevos valores que le

    //asignemos reemplazarn a los

    //viejos.

    //Al mismo tiempo, y no porque

    //sea estrictamente necesario

    //sino a modo de ejemplo,

    //guardamos ms de un valor en

    //la variable $carro, valindonos

    //de nuevo de la herramienta array.

    $carro[md5($id)]=array('identificador'=>md5($id),

    'cantidad'=>$cantidad,'producto'=>$row['producto'],

    'precio'=>$row['precio'],'id'=>$id);

    //Ahora dentro de la sesin

    //($_SESSION['carro']) tenemos

    //slo los valores que tenamos

    //(si es que tenamos alguno)

    //antes de ingresar a esta pgina

    //y en la variable $carro tenemos

    //esos mismos valores ms el que

    //acabamos de sumar. De manera que

    //tenemos que actualizar (reemplazar)

    //la variable de sesin por la

    //variable $carro.

    $_SESSION['carro']=$carro;

    //Y volvemos a nuestro catlogo de

    //artculos. La cadena SID representa

    //al identificador de la sesin, que,

    //dependiendo de la configuracin del

    //servidor y de si el usuario tiene

    //o no activadas las cookies puede

    //no ser necesario pasarla por la url.

    //Pero para que nuestro carro funcione,

    //independientemente de esos factores,

    //conviene escribirla siempre.

    header("Location:catalogo.php?".SID);

    ?>

    Luego creamos el archivo borracar.php, que nos permitir eliminar artculos que hayamos

  • Luego creamos el archivo borracar.php, que nos permitir eliminar artculos que hayamosingresado:

    Luego creamos nuestro catlogo de productos, el archivo catalogo.php:

  • //enviar el resultado de un

    //script al navegador. Si

    //no las utilizamos estamos

    //obligados a que nuestra

    //primera lnea de cdigo

    //sea session_start() u

    //obtendremos un error

    session_start();

    //conectamos a la base de

    //datos

    mysql_connect("localhost","usuario","password");

    mysql_select_db("db");

    //rescatamos los valores

    //guardados en la variable de

    //sesin (si es que hay alguno,

    // cosa que comprobamos con isset)

    //y los asignamos a $carro.

    //Si no existen valores, ponemos a false

    //el valor de $carro

    if(isset($_SESSION['carro']))

    $carro=$_SESSION['carro'];else $carro=false;

    //y hacemos la consulta

    $qry=mysql_query("select * from catalogo order by producto asc");

    ?>

    CATLOGO

  • Producto

    Precio

  • Y por ltimo el archivo en el que mostramos el contenido del carro, llamadovercarrito.php:

    PRODUCTOS AGREGADOS AL CARRITO

  • -->

    Carrito

    Producto

    Precio

    Cantidad de Unidades

    Borrar

    Actualizar

  • $contador++;

    //este es el contador que usamos

    //para los colores alternos

    ?>

  • AutorAndrs Fernndez

    Subir

    ManualTaller de PHP

    Segmentacin por pas para OpenAds Conectar con Paypal

    Continuar la seleccin de productos

  • Segmentacin por pas para OpenAds Conectar con Paypal

    3 0

    Tweet

    Compartir

    02/10/2007

    02/10/2007

    02/10/2007

    03/10/2007

    04/10/2007

    Nestor

    Marcar como spam

    NiSiS

    Marcar como spam

    ndweb

    Marcar como spam

    Javier

    Marcar como spam

    Sergio

    Comentarios Enviar un comentario al artculo

    Donde estan los archivos para desgargarlos?

    Buenas me gustaria saber como ago para agregar cosas al catalogo si me puede

    informar se lo agredeceria!!!

    Este script ya lo lo conocia y funciona bien para agregar nuevos productos al catalogo la

    unica forma de hacerlo es ingresando nuevos registros directamente a la base de datos.

    Mi preguntas es como destruyo la session al cerrar el navegador

    Yo tampoco veo el boton para descargar

    Bueno, me doy cuenta que cada vez soy mas torpe. Busco una buena persona que le

    Compartir

  • 07/10/2007

    28/11/2008

    06/7/2009

    15/8/2009

    04/5/2010

    Marcar como spam

    MondoLirondo

    Marcar como spam

    Olber

    Marcar como spam

    fabian_ferney_alvarez_orez

    Marcar como spam

    viviana garcia

    Marcar como spam

    walter

    funcione el carro y me pueda pasar los archivos, yo ya descarto el llegar a coonseguir

    programarlo.

    en la siguiente direccin te puedes bajar el carrito:

    http://www.desarrolloweb.com/manuales/56/

    saludos

    Hola, el archivo catalogo.php me genera un error que dice: Warning:

    mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in

    C:AppServwwwsubcarrocatalogo.php on line 43

    a que se debe? gracias.

    darte las gracias

    Quiero agradecerle a esta comunidad lo mucho que me ha ayudado en mi trabajo y en

    mi aprendizaje.

    Mil y Mil Gracias

    mil gracias

    HOLA , ES MARAVILLOSO SABER DE COMO CREAS Y HACER CARRITOS DE OMPRAS ,

    GRACIAS POR PREOCUPARSE DE SU SEMENJANTES ,

    agradecer y consultar

  • 04/5/2010

    20/10/2010

    19/1/2011

    30/1/2011

    08/2/2011

    Marcar como spam

    eric17

    Marcar como spam

    daniel

    Marcar como spam

    Mainor

    Marcar como spam

    rexona

    agradecer y consultar

    bueno quiero partir dando las gracias ya que este articulo me sirvio demasiado, me

    saque un gran peso de encima. Pero me gustaria consultar como se puede hacer para tener un solo

    boton actualizar que cambie todos los productos, es decir no tener que cambiar la cantidad de un

    producto, actualizar, volver, cambiar la cantidad de otro producto, actualizar, etc..

    ver carrito

    cuando uno ve directamente el carrito sale con 1 articulo pero sin nombre como puedo

    hacer para que no me salga nada ahi

    ayuda

    alguien me podria ayudar a mi sale un error aqui -> while($row=mysql_fetch_assoc($qry))

    {

    Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in

    C:wampwwwcarrito de comprascatalogo.php on line 65

    Carrito de Compras

    Ya tengo los archivos en php que muestras en esta pagina, pero no me hubico como

    hago para incrustar ese carrito para que me funcione en pagina html, necesito hacer una pagina que

    pueda ir agregando articulos al carro de compras y que la recopilacion de esa informacion sea

    enviada a un correo para luego ponerme en contacto con ese comprador o en todo caso llevarlo a

    realizar el pago por paypal

    Ayudeme por favor

    Dios les bendiga pro esta pagina

    Necesito ayuda

    Cordial saludo me uno a vuestra comunidad

    Quisiera que alguien me guiara con un asunto de un carrito de compra, resulta que tengo que hacer

  • 27/4/2011

    19/5/2011

    07/9/2011

    Marcar como spam

    leimerfco

    Marcar como spam

    sergio

    Marcar como spam

    javier madariaga

    Marcar como spam

    eslomao

    Quisiera que alguien me guiara con un asunto de un carrito de compra, resulta que tengo que hacer

    un carro donde sobre una eleccion de un producto inicial se le puedan ir sumando caracteristicas,

    por ejemplo al elegir un cuadro luego se le pueda sumar la eleccion de un marco, o por ejemplo, al

    elegir un carro se le pueda agregar acto seguido, un color, unos rines diferentes, entre una variedad

    de opciones... si existe dentro de wordpress algun pluggin con estas caracteristicas tambien me

    serviria.

    De antemano agradezco cualquier colaboracion que me den.

    aqui les dejo un ejemplo de lo que necesito...

    http://www.overstockart.com/cafteratnig1.html

    por favor me pueden enviar cualquier ayuda a mi correo [email protected]

    no he podido poner a funcionar el carrito

    cuando ingreso a http://localhost/carrito_compras/index.php luego escojo una categoria

    me sale el siguiente error

    http://localhost/carrito_compras/libros_cat?idcat=2

    objeto no encontrado

    me gustaria saber las partes en que esta constituido un carro de la compra. Gracias

    Las partes i materiales mas importantes del carro, i si pudiera ser los precios! muchas

    gracias

    ayuda sobre esta linea

    if(!$carro || !isset($carro[md5($row['id'])]['identificador']) || $carro[md5($row['id'])]

    ['identificador']!=md5($row['id']))

    Esta linea es del catalogo, estoy intentando adaptarla a un carro, pero donde pone id es el campo id ,

    eso esta claro pero donde pone identificador , que es pues n lo entiendo. un saludo y gracias

  • 14/9/2011

    eslomao

    errores en codigo

    hola , he compiado ese codigo pero me da varios errores, aki los detallo

    mysql_fetch_assoc () espera un parmetro a ser el recurso, boleano dado en C: xampp htdocs

    Proyecto catalogo.php on line 33

    Advertencia : mysql_fetch_array () espera un parmetro a ser el recurso, boleano dado en C: xampp

    htdocs Proyecto agregacar.php en la lnea 9

    Advertencia : No se puede modificar la informacin de cabecera - cabeceras ya enviado por (la

    produccin comenz en C: xampp htdocs Proyecto agregacar.php: 9) en C: xampp htdocs Proyecto

    agregacar.php on line 16

    aki pongo el codigo completo de CATALOGO.PHP

    CATLOGO

  • #000000;">

    Producto

    Precio

  • 16/11/2011

    12/4/2012

    03/6/2012

    15/6/2012

    10/7/2012

    Marcar como spam

    Rafael Agundis

    Marcar como spam

    jinn

    Marcar como spam

    faneosg

    Marcar como spam

    Carlos Kravitz

    Marcar como spam

    eneas

    alguna solucion ???? gracias

    Para que batallar

    No entiendo para que batallar, ya existen sitios que te rentan el carrito de compras bien

    hecho y con todo lo necesario como traduccion a 6 idiomas de los productos, chat, area de

    administracion, diseo grafico profesional etc. El mejor sitio es Empresa123, yo lo he usado y mis

    clientes estan contentos:

    http://www.empresa123.com

    ingreso de producto

    prove los codigos conforme indicaba pero no puedo ingresar productos o agragar, cual

    seria mi respuesta ???????

    descarga del Carro de compras

    No veo el boton para realizar la descarga del ejemplo.

    Duda sobre datos que no aparecen...

    He estado leyendo el cdigo, al parecer todo esta correcto...el nico detalle que me

    surgi es cuando visualizo el carrito....lo que son las columnas de Producto y Precio no se ven....al

    igual que la suma total de la venta que se realizar...fui siguiendo las lineas y al parecer todo esta

    correcto...quizas algo se me este pasando y ah sea la solucin....gracias....Espero respuesta y en lo

    que pueda aportar....

    Graciias

    buena onda! que buen tutorial si nos sirvio mucho! :)

  • 02/8/2012

    04/9/2013

    14/2/2014

    22/5/2014

    20/5/2015

    Marcar como spam

    Eva

    Marcar como spam

    mmilton

    Marcar como spam

    astrid

    Marcar como spam

    guicholuco

    Marcar como spam

    Dani

    Marcar como spam

    No veo enlace de descarga

    Hola, muy buen manual, pero no veo el enlace de descarga (uso IE8).

    No funciona

    No funciona, he copiado tal cual y no funciona, tampoco me marca errores... lo extrao

    es que tengo funcionando otras apps sin problema.

    A alguien le sucede algo similar?

    como veo el nombre

    Pasa que al seleccionar me envia a la hoja siguiente, pero alla solo muestra la cantidad y

    precio, pero no muestra el nombre del producto.

    agraderia una ayudita pr favor, a mi correo: [email protected]

    Desde ya muchas gracias y Dios los bendiga.:

    Que estar pasando?

    Como lo veo en un comentario anterior, del 2012, en el proceso de vercarrito, no aparece

    el nombre del producto, el precio y el importe total. Le puse unos ecos y al parecer el valor de precio

    es 0, por lo que entiendo puede ser el error respecto a la suma total. Le busco y no le encuentro el

    detalle.

    funciona bien

    Funciona Perfecto!!! esto me va a ser de gran utilidad. Muchas gracias!!

  • Principales

    Manuales

    FAQs

    En directo

    Vdeos

    Monotemticos

    Desde cero

    HTML, CSS

    Javascript, Ajax

    Diseo, ASP

    Blogging

    Actualidad

    De inters

    Agenda

    Powered by:

    Desarrolloweb.com Copyright Publicidad Acerca de Datos legales P. de cookies Contacta

    Marcar como spam

    Enviar un comentario al artculo