PHP - ayuda :( REFRESCAR PAGINA EN PHP

 
Vista:

ayuda :( REFRESCAR PAGINA EN PHP

Publicado por naira (3 intervenciones) el 21/06/2007 17:26:12
hola,como novata que soy en esto de construir paginas web,os agradeceria eternamente si me echais una mano con lo siguiente:
por que puede ser que cuando añado una prenda de ropa a mi carrito, al darle a recargar la pagina,se me duplique la prenda?es decir, al refrescar me repite la ultima accion que hice.
muxiiiisimas gracias por leerme :)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda :( REFRESCAR PAGINA EN PHP

Publicado por basnek (63 intervenciones) el 21/06/2007 21:01:26
Estimada Naira.
Eso se debe a la forma en como programaste el carro.
Ya sea que usaras metodo GET o POST para el formulario al tocar F5 (refrescar) estas recargando la página y vuelve a ejecutar el código de insert.
Lo que deberias hacer es cambiar la lógica de como haces ese proceso.
Hay muchas formas por un lado con un simple control en el mismo archivo para saber si ya fue enviado el form que puedes hacerlo cotejando alguna variable o bien podrías poner como acción otro pho que sea el que grabe y que al terminar hace un header location a la pagina del carro de forma tal que si refrescas no grabas nada pues no ha recibido nada via GET o POST.
Se entiende + o -
Espero que si

Salu2 y Éxitos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda :( REFRESCAR PAGINA EN PHP

Publicado por naira (3 intervenciones) el 21/06/2007 23:04:10
muchas gracias por contestarme :) no me enterao xq no tengo ni idea de programar jeje xo te agradezco mucho la molestia de ayudarme ;) saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Espero que esto lo entiendas mejor

Publicado por Jaterli (48 intervenciones) el 22/06/2007 08:24:07
Cuando envies un formulario, no le des a recargar porque sino te volverá a enviar los datos de nuevo y te pasará lo mismo que con la prenda del carrito. No es ningún error lo que te está pasando, simplemente procura no hacerlo. Si quieres cargar la página de nuevo xq se haya cargado mal, ve a la barra de direcciones y pulsa sobre la flechita o el icono que tengas para abrir la página y así volverás a "cargar" la página, no a "recargar".

saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Espero que esto lo entiendas mejor

Publicado por naira (3 intervenciones) el 22/06/2007 09:13:45
simplemente GRACIAS :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda :( REFRESCAR PAGINA EN PHP

Publicado por Gonzalo (84 intervenciones) el 22/06/2007 08:54:05
El problema es el siguiente:

Cuando cargas la página normalmente lanzas una petición que lo que hace es devolver esa página.
(por ejemplo, pides http://..../catalogo.php y te devuelve esa página y ya)

Cuando añades un producto al carrito, lo que tú estás haciendo es primero hacer la operación de añadir ese producto al carrito y luego devolviendo otra vez la página. En una sola llamada.
(por ejemplo, pides http://..../catalogo.php?accion=añadir&producto=1234 y eso añade el producto al carrito y en la misma llamada te devuelve la página del catálogo)

Cuando haces esto último, la página en la que estás ahora es esa ( http://..../catalogo.php?accion=añadir&producto=1234 ) no es la página original ( http://..../catalogo.php ) así que si la refrescas, se vuelve a llamar a lo mismo... a añadir el producto.


Lo que te comenta basnek es que hagas lo siguiente:

Cuando llames a añadir un producto al carrito ( http://..../catalogo.php?accion=añadir&producto=1234 ) en lugar de hacer la operación de añadir y en la misma llamada devolver la página del catálogo, hazlo separado. Es decir, que después de haber hecho la acción de añadir el producto al carrito, no devuelvas la página, sino que digas "ya está hecho, ahora ve a la página de ver el catálogo".

Y esto se hace usando header(), que es una función que te permite modificar la cabecera de la respuesta HTTP. La cabecera de la respuesta HTTP es algo que va antes de tu página y es lo que contiene códigos como "404 página no encontrada" o "500 Error del servidor". En tu caso, lo que necesitas hacer es incluir una cabecera que le dice "ve a ver esta otra página en lugar de la que me has pedido". Es la cabecera Location. P.ej. si le pones "Location: /catalogo.php" lo que haría sería decir "vale, ya he procesado la llamada de añadir al carrito, ahora vete a catalogo.php" sin más, sin operación de añadir.

Y todo esto por qué? Pues porque si haces eso, el navegador al recibir eso, se va a /catalogo.php y queda en esa página. De modo que si le das a refrescar, lo que refresca es esa página, no la que tenía la acción de añadir.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda :( REFRESCAR PAGINA EN PHP

Publicado por Alvaro Yañez (1 intervención) el 05/06/2009 01:18:14
ayuda para un niño que necesita un gran apoyo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar