carro de compras en php
DESCRIPTION
Manual util para hacer un carro de compra en linea con php y mysqlTRANSCRIPT
-
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