Foros del Web » Programando para Internet » PHP »

Redireccionar automaticamente despues de dar en el boton enviar

Estas en el tema de Redireccionar automaticamente despues de dar en el boton enviar en el foro de PHP en Foros del Web. Hola a todos, tengo problemas con el boton enviar, cuando doy en el boton enviar me manda los datos a la base de datos correspondiente(este ...
  #1 (permalink)  
Antiguo 09/01/2012, 14:26
Avatar de jose_cuberos  
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 74
Antigüedad: 12 años, 3 meses
Puntos: 1
Pregunta Redireccionar automaticamente despues de dar en el boton enviar

Hola a todos, tengo problemas con el boton enviar, cuando doy en el boton enviar me manda los datos a la base de datos correspondiente(este apartado funciona correctamente), pero a su vez quiero que me direccione a otra plantilla que estoy haciendo, alguien puede ayudarme.
  #2 (permalink)  
Antiguo 09/01/2012, 14:31
 
Fecha de Ingreso: enero-2012
Ubicación: Serra do Galiñeiro
Mensajes: 20
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: Redireccionar automaticamente despues de dar en el boton enviar

Si los datos del formulario los envias a procesar a un script.php sin html podrias usar esto:

Código PHP:
Header("Location: ./archivo.php"); 
Saludos.
  #3 (permalink)  
Antiguo 09/01/2012, 14:32
 
Fecha de Ingreso: julio-2011
Ubicación: mexico
Mensajes: 41
Antigüedad: 12 años, 8 meses
Puntos: 5
Respuesta: Redireccionar automaticamente despues de dar en el boton enviar

puedes usar un header location

o un window.location de javascript

los metes en una condicional por ejemplo supongamos que $res es la variable que mete la consulta

Código PHP:
Ver original
  1. if($res){
  2.     header('Location: index.php');
  3. }

creo que era así.
  #4 (permalink)  
Antiguo 09/01/2012, 14:43
Avatar de jose_cuberos  
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 74
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: Redireccionar automaticamente despues de dar en el boton enviar

Hola, gracias por vuestra atención, bueno yo es que tengo esto, pero decidi hacer lo que les comente anteriormente, y esto es lo que tengo actualmente>>>

echo "<h2><center><br>Bienvenido $Nombre.<br>Si desea más información...<br>... <a href='index2.php'>pulse aquí</a>.<br>";
echo "Recibirá un email con el enlace que le indicamos anteriormente.</center></h2>";

y no podria usar estos comandos, soy un poco novato, por eso hago preguntas tontas

Saludos
  #5 (permalink)  
Antiguo 09/01/2012, 14:44
Avatar de jose_cuberos  
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 74
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: Redireccionar automaticamente despues de dar en el boton enviar

Me refiero a direccionar directamente por este metodo...
  #6 (permalink)  
Antiguo 09/01/2012, 14:48
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Redireccionar automaticamente despues de dar en el boton enviar

entonces como dicen usa window.location de javascript este puede funcionar dentro de una funcion en javascript, en el enlace con un onclick.
  #7 (permalink)  
Antiguo 09/01/2012, 15:09
Avatar de jose_cuberos  
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 74
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: Redireccionar automaticamente despues de dar en el boton enviar

Es decir, que por lo que a mi respecta deberia poner esto,

if($res){
header('Location: info_previa.html');
}

Esto es lo que pasaria si dan click en enviar, pero a su vez quiero que esperen dos segundos, esto me vale>>>>>

if($res){
header('Location: info_previa.html');
}
setTimeout ("redireccionar()", 2000); //tiempo expresado en milisegundos

es correcto???

Saludos
  #8 (permalink)  
Antiguo 09/01/2012, 16:01
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Redireccionar automaticamente despues de dar en el boton enviar

nop el primero es php el segundo javascript "nada que ver"

si quieres que sea despues de cierto tiempo como te digo usa window.location de javascript

si no te sirve usa un sleep de php

Código PHP:
Ver original
  1. sleep(2);//2 segundos duerme el script
  2. if($res){
  3.     header('Location: info_previa.html');
  4. }
  #9 (permalink)  
Antiguo 09/01/2012, 16:41
Avatar de jose_cuberos  
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 74
Antigüedad: 12 años, 3 meses
Puntos: 1
Pregunta Respuesta: Redireccionar automaticamente despues de dar en el boton enviar

Ok, de acuerdo, pero lo que pasa, es que después de dar en enviar, sale un mensaje, este>>>>>

echo "<p><center><br>Espere por favor, será redireccionado en 5 segundos.</br></center></p>";

lo que no entiendo, es, donde debo ponerlo, antes de head?, o dentro de body, antes de echo "

Gracias por tu interes. Saludos

  #10 (permalink)  
Antiguo 09/01/2012, 17:13
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Redireccionar automaticamente despues de dar en el boton enviar

php lo puedes colocar donde sea

php != javascript

recuerdalo siempre

en tu simple caso que quieres que aparezca un mensaje simplemente php será inutil

por lo que javascript sería una buena opción

Código Javascript:
Ver original
  1. <html>
  2. <head>
  3. <script type="text/javascript">
  4. function redireccionar(){
  5.   window.locationf="http://www.web.com";
  6. }
  7. setTimeout ("redireccionar()", 5000); //tiempo expresado en milisegundos
  8. </script>
  9. </head>
  10. <body>
  11. <p> Espere por favor, será redireccionado en 5 segundos.</p>
  12. </body>
  13. </html>

he ahi un ejemplo a página completa

si lo quieres con meta refresh

Código HTML:
Ver original
  1. <meta http-equiv="Refresh" content="5;url=http://www.web.com">
  2. </head>
  3.  
  4. <p>Nos hemos mudado! Serás dirigido automáticamente en cinco segundos. En caso contrario, puedes acceder haciendo click <a href="http://www.we.com">aquí</a></p>
  5. </body>
  6. </html>
  #11 (permalink)  
Antiguo 09/01/2012, 17:20
Avatar de jose_cuberos  
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 74
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: Redireccionar automaticamente despues de dar en el boton enviar

Hola memoadian, ya e puesto el Código Javascript, pero el problema es que me salta de inmediato (5s), yo es que no quiero eso, quiero que despues de rellenar el formulario y enviarlo dando en enviar, pasen los 5 segundos y me mande a la siguiente pagina.
Ya me da igual que salga el mensaje.

Gracias por tu interes!!!

Saludos
  #12 (permalink)  
Antiguo 10/01/2012, 12:10
Avatar de jose_cuberos  
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 74
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: Redireccionar automaticamente despues de dar en el boton enviar

Hola, de acuerdo, pero yo tengo esto despues de terminar el form,

<SCRIPT language="JavaScript">
<!--
this.formulario.Nombre.focus();
//-->
</script>


<br>
<p>&nbsp;</p>
</br>


<?
}
else{
?>
<p>&nbsp;</p>
<?

// Dar de alta el usuario de la BD
error_reporting(1);
setlocale("LC_ALL", "es_ES");
//echo $_SESSION['Licencia']." TTT<br>";
$connectID=mysql_connect($server, $user, $pwd) or die("Error al conectar a la Base de Datos [". mysql_error() ."]");
$dbID=mysql_select_db($database, $connectID) or die("B.D. $database no encontrada [". mysql_error() ."]");

$query="SELECT ID FROM hola_inf ORDER BY id DESC";
$result=mysql_query($query, $connectID) or die("B.D. $database vacia [". mysql_error() ."]");

$numRows=mysql_num_rows($result);
if($numRows>0){
$campos=mysql_fetch_array($result);
$ID=$campos['ID'];
$ID++;
}
else{
$ID='1';
}

$FechaAlta=date("Ymd");
$Estado=1; // Usuario registrado, enviado email

//$query="INSERT INTO reg_inf (ID,Licencia,Estado,FechaAlta,Nombre,Apellidos,Ema il,Ciudad,CPostal,Provincia,Pais) VALUES('$ID','" . $_SESSION['Licencia'] . "','$Estado','$FechaAlta','" . addslashes($_POST['Nombre']) . "','" . addslashes($_POST['Apellidos']) . "','" . addslashes($_POST['Email']) . "','". addslashes($_POST['ciudad']) ."','". addslashes($_POST['codpostal']) ."','". addslashes($_POST['Provincia']) ."','".addslashes($_POST['Pais'])."')";
//echo $_SESSION['Licencia']." TTT<br>";
$query="INSERT INTO reg_inf (ID,Licencia,Estado,FechaAlta,Nombre,Apellidos,Ema il,Provincia,Pais) VALUES('$ID','" . $Licencia . "','$Estado','$FechaAlta','" . addslashes($_POST['Nombre']) . "','" . addslashes($_POST['Apellidos']) . "','" . addslashes($_POST['Email']) . "','". addslashes($_POST['Provincia']) ."','".addslashes($_POST['Pais'])."')";
//echo $query."<br>";
$result=mysql_query($query, $connectID) or die("Error al insertar datos 1 en [". mysql_error() ."]");

//$gestor = fopen("/home/virtual10/site98/fast/vard/www/htmls/info/login_reg.txt", 'a');
$gestor = fopen("/root/locards/info/login_reg.txt",'a');
fwrite($gestor, $query."\n\n");
fclose($gestor);

$query="INSERT INTO reg_inf2 (ID) VALUES('$ID')";
$result=mysql_query($query, $connectID) or die("Error al insertar datos 2 en [". mysql_error() ."]");

$query="INSERT INTO reg_inf3 (ID) VALUES('$ID')";
$result=mysql_query($query, $connectID) or die("Error al insertar datos 3 en [". mysql_error() ."]");

echo "<p><center><br>Espere por favor, será redireccionado en 5 segundos.<br>Obtendrá más información<br>.<br>";
echo "Recibirá un email con un enlace .</center></p>";

$Mens="Apreciado/a $Nombre:" . chr(13) . chr(10) . chr(13) . chr(10);
$Mens.="Deseamos darle la bienvenida a locards.com.";
$Mens.=" Gracias por haber mostrado su interés ." . chr(13) . chr(10) . chr(13) . chr(10);
$Mens.="Antes de empezar, deberemos informarle más";
$Mens.=" detalladamente.";
$Mens.=" ....";
$Mens.=" ....." . chr(13) . chr(10) . chr(13) . chr(10);
$Mens.="Para seguir informándole, haga click en el siguiente enlace" . chr(13) . chr(10);
$Mens.="http://locard.com/index.php?ID=$ID." . chr(13) . chr(10) . chr(13) . chr(10);
$Mens.="Será un placer para nosotros, una vez haya leído la información, poder";
$Mens.=" ayudarle en todo lo que necesite." . chr(13) . chr(10) . chr(13) . chr(10) . chr(13) . chr(10);


Donde lo pondria, lo pondria despues del mensaje de los 5 segundos o antes

Saludos
  #13 (permalink)  
Antiguo 10/01/2012, 21:45
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Redireccionar automaticamente despues de dar en el boton enviar

por lo que veo tienes la recepcion de datos en el mismo archivo.

debes crear una condicional si hay post y todo ok

debes primero comprobar que todo este bien y lo ultimo que debes ejecutar es la redirección, o sea que debe ir hasta el final del documento dentro de la condicional.

Etiquetas: automaticamente, redireccionar, botones
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 10:30.