Foros del Web » Programando para Internet » PHP »

Redireccionar despues de una consulta mysql

Estas en el tema de Redireccionar despues de una consulta mysql en el foro de PHP en Foros del Web. Buenas tardes el problema que tengo es este. Tengo un formulario, se llenan los campos, click en guardar, se ejecuta la consulta, la informacion se ...
  #1 (permalink)  
Antiguo 07/05/2011, 13:06
 
Fecha de Ingreso: noviembre-2010
Mensajes: 18
Antigüedad: 13 años, 5 meses
Puntos: 0
Redireccionar despues de una consulta mysql

Buenas tardes el problema que tengo es este.

Tengo un formulario, se llenan los campos, click en guardar, se ejecuta la consulta, la informacion se guarda correctamente.

Al dar click en el submit el action de este manda a llamar a ella misma y ejecuta la consulta.
El problema que tengo es que despues de que ejecuta la consulta no me redirecciona, quiero que me apararesca el segundo formulario pero me manda al mismo con los campos vacios.

pagina1.php

Lleno formulario, click en submit.
<?php
if (isset($_POST['guardarNU'])) // si presiono el boton ingresar
{
echo "Entra aqui facilmente";
// Realizo lo que tengo que hacer
// Guardo en la base de datos,,,, etc
}

header("Location: pagina2.php");
?>

EL problema es que se queda en la misma... Como le hago ¿?
  #2 (permalink)  
Antiguo 07/05/2011, 14:01
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Redireccionar despues de una consulta mysql

Despues del header(); agrega exit; para evitar que se siga procesando el script.

Por otra parte, si ya enviaste contenido al navegador (una etiqueta, un caracter, espacio, salto de linea o lo que sea) entonces la redireccion no funcionara.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 07/05/2011, 14:07
(Desactivado)
 
Fecha de Ingreso: abril-2011
Mensajes: 153
Antigüedad: 13 años
Puntos: 236
Respuesta: Redireccionar despues de una consulta mysql

Hola que tal,
pasame tu código completo ya que dependiendo de la estructura de tu código hay diferentes formas para redireccionar.
Pero imaginandome tu estructura, lo que puedes hacer es:
Después de la sentencia final de la consulta a mysql debes poner:
Código:
header("location:pagina2.php"); 
Ésto solo funciona si no hubo ningúna salida de datos antes de header(), ejemplos:

BIEN!
Código PHP:
[nada aca nisiquiera un espacio]<?php
mysql_query
("CONSULTA...");
header("location:pagina2.php");
?><span>Aquí hay contenido!</span>
MAL!
Código PHP:
<span>Aquí hay contenido!</span>
<?php
mysql_query
("CONSULTA...");
header("location:pagina2.php");
?>
BIEN!
Código PHP:
<?php
mysql_query
("CONSULTA...");
header("location:pagina2.php");
echo 
"HOLA! HOLA! HOLA!";
?>
MAL!
Código PHP:
<?php
echo "HOLA! HOLA! HOLA!";
mysql_query("CONSULTA...");
header("location:pagina2.php");
?>
Te recuerdo que si puedes mejor pasame todo el código fuente, Saludos!
  #4 (permalink)  
Antiguo 07/05/2011, 18:04
 
Fecha de Ingreso: noviembre-2010
Mensajes: 18
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Redireccionar despues de una consulta mysql

............................Esta pagina se llama Formulario_informaciongeneral.php ...........

<form method="post" action="Formulario_informaciongeneral.php">
<h3> CONTROL DE LEVANTAMIENTO </h3>
<p>
<label>Folio</label>

<input type="text" name="folio" id="folio" size="30" />
</p>
<p><label>Nombre del encuestador</label>
<label>
<input type="text" name="nombre_encuestador" id="textfield" size="30" />
<label>

<input type="submit" name="guardarNU" id="guadarNU" value="Guardar Información"/>

<form>

<?php

if (isset($_POST['guardarNU'])) // si presiono el boton ingresar
{
//Coneccion
// Procedimientos de mysql,
// Guardo informacion en la base de datos del formulario, tomando los datos con $_POST

// aqui quiero que me mande a otra pagina...

header("Location: Formulario_integrante_DOS.php");
exit;
// Pero no me redirecciona nada... me manda a la misma con los campos en blanco
}

?>
  #5 (permalink)  
Antiguo 07/05/2011, 18:24
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años
Puntos: 322
Respuesta: Redireccionar despues de una consulta mysql

No pongas el formulario en la misma página que procesa todo. Por qué? Porque no se puede utilizar header() después de alguna salida HTML. En todo caso hazlo así:
Código PHP:
if (empty($_POST)) {
    
//Aqui muestra el formulario
}else{
    
//Aqui guardas los datos y haces redirección

__________________
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
  #6 (permalink)  
Antiguo 08/05/2011, 09:16
(Desactivado)
 
Fecha de Ingreso: abril-2011
Mensajes: 153
Antigüedad: 13 años
Puntos: 236
Respuesta: Redireccionar despues de una consulta mysql

Hola, cambia tu archivo por éste:
Código HTML:
Ver original
  1. <?php
  2. if (!isset($_POST['guardarNU'])){
  3. ?>
  4. <style type="text/css">
  5. </head>
  6. <form method="post" action="php.php">
  7. <h3> CONTROL DE LEVANTAMIENTO </h3>
  8. <p>
  9. <label>Folio</label>
  10.  
  11. <input type="text" name="folio" id="folio" size="30" />
  12. </p>
  13. <p><label>Nombre del encuestador</label>
  14. <input type="text" name="nombre_encuestador" id="textfield" size="30" />
  15.  
  16. <input type="submit" name="guardarNU" id="guadarNU" value="Guardar Información"/>
  17.  
  18. </body>
  19. </html>
  20. <?php
  21. }
  22. elseif (isset($_POST['guardarNU'])) // si presiono el boton ingresar
  23. {
  24. //Coneccion
  25. // Procedimientos de mysql,
  26. // Guardo informacion en la base de datos del formulario, tomando los datos con $_POST
  27.  
  28. // aqui quiero que me mande a otra pagina...
  29.  
  30. header("Location: Formulario_integrante_DOS.php");
  31. // Pero no me redirecciona nada... me manda a la misma con los campos en blanco
  32. }
  33. ?>
El problema es dónde ya te había dicho y después lo volvieron a mencionar, si no lees y comprendes nunca vas a poder solucionar tus problemas.

NO PUEDES PONER NINGÚN DATO QUE VALLA DE SALIDA PARA MOSTRARSE EN PANTALLA ANTES DE HEADER();

Saludos!

Etiquetas: mysql, redireccionar
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 01:46.