Foros del Web » Programando para Internet » PHP »

No enviar informacion al momento de un refresh de una pagina

Estas en el tema de No enviar informacion al momento de un refresh de una pagina en el foro de PHP en Foros del Web. Hola Tengo un formulario pero si se refresca la pagina, se vuelve a enviar la informacion. Como evitar eso?...
  #1 (permalink)  
Antiguo 16/11/2010, 20:13
 
Fecha de Ingreso: agosto-2010
Ubicación: Oakland california
Mensajes: 393
Antigüedad: 9 años, 10 meses
Puntos: 3
No enviar informacion al momento de un refresh de una pagina

Hola Tengo un formulario pero si se refresca la pagina, se vuelve a enviar la informacion.

Como evitar eso?
  #2 (permalink)  
Antiguo 16/11/2010, 20:18
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 12 años, 1 mes
Puntos: 2534
Respuesta: No enviar informacion al momento de un refresh de una pagina

al finalizar de emplear los datos recibidos debes redireccionar usando header(), de preferencia al mismo formulario o algún otro lugar lógico...
Código PHP:
header('Location: /url/form.html'); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/11/2010, 20:24
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 11 años
Puntos: 322
Respuesta: No enviar informacion al momento de un refresh de una pagina

Tambien depende del codigo de la pagina de accion
Si el formulario y la pagina de action son la misma, debes tener algo como esto;

Código PHP:
if (!empty($_POST)) {
//Si ya se envio el form...
}else{
//Aca muestras el form...

Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #4 (permalink)  
Antiguo 25/11/2010, 17:29
 
Fecha de Ingreso: agosto-2010
Ubicación: Oakland california
Mensajes: 393
Antigüedad: 9 años, 10 meses
Puntos: 3
Respuesta: No enviar informacion al momento de un refresh de una pagina

Podrian explicarme con manzanas por favor? el codigo es asi y lo que quiero es que no se envie la informacion de nuevo a la base de datos si la pagina es refrescada, gracias....

Código PHP:
Ver original
  1. <?php  
  2.  
  3.  
  4. if (isset($_POST['submit'])) {  
  5.  
  6.              mysql_connect('localhost','user','password')or die ('Ha fallado la conexión: '.mysql_error());
  7.                  mysql_select_db('database')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
  8.  
  9.  
  10.  
  11.  
  12.  
  13.                                                   $nombre_archivo  = $_POST["nombre_archivo"];  
  14.                                                                         $usuario  = $_POST["usuario"];
  15.                                      $precio  = $_POST["precio"];
  16.                                      $calidad  = $_POST["calidad"];
  17.                                      $genero  = $_POST["genero"];
  18.                                      $licencia  = $_POST["licencia"];
  19.                                      $duracion  = $_POST["duracion"];
  20.                                      $tempo  = $_POST["tempo"];
  21.                                              $ruta  = $_POST["ruta"];
  22.                                      $email  = $_POST["email"];
  23.                                      $avatar  = $_POST["avatar"];
  24.                                      $aidi  = $_POST["aidi"];  
  25.                                      $certid  = $_POST["certid"];
  26.  
  27.  
  28. $sQuery1 = "INSERT INTO vendidos SET usuario='$usuario', certid='$certid', aidi='$aidi', name='$nombre_archivo', descargas=1, precio='$precio', avatar='$avatar', email='$email', genero='$genero', licencia='$licencia', calidad='$calidad', duracion='$duracion', tempo='$tempo', ruta='$ruta', fecha='".date("m-d-Y")."';";  
  29.  
  30.  
  31. $sQuery2 = "UPDATE archivos SET descargas = descargas + 1 WHERE ruta='$ruta';";
  32.  
  33.  
  34. $sQuery3 = "UPDATE users SET descargas = descargas + 1 WHERE username='$usuario';";
  35.  
  36.  
  37. $result1 = mysql_query($sQuery1) or die(mysql_error());
  38. $result2 = mysql_query($sQuery2) or die(mysql_error());
  39. $result3 = mysql_query($sQuery3) or die(mysql_error());
  40.    
  41.    
  42.    
  43.                
  44.      echo "<br><p>Here's the download link</p><br>";
  45.    
  46. ?> 
  47.    
  48.    
  49.  
  50. <div id="T"><h4><br><?php echo "<a href=http://localhost/members/descargas.php?download_file=".$ruta.">".$nombre_archivo."</a>";?></div></h4>
  #5 (permalink)  
Antiguo 25/11/2010, 17:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 12 años, 1 mes
Puntos: 2534
Respuesta: No enviar informacion al momento de un refresh de una pagina

Cita:
Iniciado por Ojete Ver Mensaje
Podrian explicarme con manzanas por favor? el codigo es asi y lo que quiero es que no se envie la informacion de nuevo a la base de datos si la pagina es refrescada, gracias....
Cita:
Iniciado por pateketrueke Ver Mensaje
al finalizar de emplear los datos recibidos debes redireccionar usando header(), de preferencia al mismo formulario o algún otro lugar lógico...
Código PHP:
header('Location: /url/form.html'); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 25/11/2010, 17:46
 
Fecha de Ingreso: agosto-2010
Ubicación: Oakland california
Mensajes: 393
Antigüedad: 9 años, 10 meses
Puntos: 3
Respuesta: No enviar informacion al momento de un refresh de una pagina

pero si lo hago asi no aparece el link de descarga
  #7 (permalink)  
Antiguo 25/11/2010, 18:18
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 12 años, 1 mes
Puntos: 2534
Respuesta: No enviar informacion al momento de un refresh de una pagina

pues guarda tus datos en sesión, redireccionas, y en la pagina recuperas los datos de sesión para mostrar el enlace...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 25/11/2010, 20:33
 
Fecha de Ingreso: agosto-2010
Ubicación: Oakland california
Mensajes: 393
Antigüedad: 9 años, 10 meses
Puntos: 3
Respuesta: No enviar informacion al momento de un refresh de una pagina

y como seria eso? ando atravezado :S agradesco su ayuda

Etiquetas: enviar, informacion, refresh
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:41.