Foros del Web » Programando para Internet » PHP »

No redirige página con header-location y Mysqli

Estas en el tema de No redirige página con header-location y Mysqli en el foro de PHP en Foros del Web. Buenas, este es mi problema que intenté reducirlo al mínimo para intentar dar con la solución pero sigo sin encontrarla, así que a ver si ...
  #1 (permalink)  
Antiguo 19/07/2011, 03:33
 
Fecha de Ingreso: noviembre-2007
Mensajes: 19
Antigüedad: 16 años, 5 meses
Puntos: 0
No redirige página con header-location y Mysqli

Buenas, este es mi problema que intenté reducirlo al mínimo para intentar dar con la solución pero sigo sin encontrarla, así que a ver si alguien ve donde está el error.

Tengo un libro de visitas en php hecho por mí, antes usaba mysql pero leí que era mejor usar mysqli así que me dispuse a migrar. No tengo ningún problema mostrando los comentarios (libro.php) pero sí los tengo con la parte del código que los inserta:

Para insertar un comentario hago que el formulario envíe los datos a procesar_comentarios.php para que se inserten, una vez insertados, redirijo a la página del libro con header("Location: libro.php"); para que sigan leyendo el libro y vean su comentario. El problema está ahí, el comentario se inserta sin problemas pero no se redirige hacia libro.php cuando antes funcionaba sin problemas.

Reduje el código al mínimo funcional para intentar hallar la solución pero sin éxito, así que a ver si alguien me puede ayudar. Este es el código:

conexion.php

Código PHP:
Ver original
  1. <?
  2.  
  3. $mysqli = new mysqli("servidor", "usuario", "contraseña", "bdd");
  4.  
  5. /* verificar conexion */
  6. echo "Error enconexion: ". mysqli_connect_error();
  7. exit();
  8. }
  9. ?>


procesar_comentarios.php

Código PHP:
Ver original
  1. <?
  2.     $nick=$_POST['nick'];
  3.     $comentario=$_POST['comentario'];
  4.  
  5.    include("../conexion.php");
  6.  
  7.  
  8.    $mysqli->query("insert into Libro (nick,comentario,fecha,ip,control,descartado) values ('$nick','$comentario','$fecha','$ip','$control','$descartado')");
  9.  
  10.     header("Location: libro.php");
  11.  
  12.  ?>


Gracias.
  #2 (permalink)  
Antiguo 19/07/2011, 03:40
Avatar de ArmasXxX  
Fecha de Ingreso: marzo-2011
Ubicación: San Pedro Sula
Mensajes: 27
Antigüedad: 13 años
Puntos: 2
Respuesta: No redirige página con header-location y Mysqli

Porque no re direccionas con Javascript?

usa esto en ves de head header

Código Javascript:
Ver original
  1. /*   este es el codigo es simple  de entender     */
  2. <script language="javascript">location.href="libro.php"</script>
  3.  
  4. /*   pero si solo quieres que regrese una pagina atras usa este  */
  5.  
  6. <script language="javascript">history.back()</script>
  #3 (permalink)  
Antiguo 19/07/2011, 04:17
 
Fecha de Ingreso: noviembre-2007
Mensajes: 19
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: No redirige página con header-location y Mysqli

Vale, así funciona, muchas gracias
  #4 (permalink)  
Antiguo 19/07/2011, 04:23
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: No redirige página con header-location y Mysqli

Prueba, si quieres salir de dudas, a añadir detrás del header("Location: libro.php"); un exit;

Si tienes más código debajo de la redirección, es mejor poner el exit para asegurarte que ese código nunca se ejecuta, por si dentro del mismo tienes algún otro cambio o algo así.

Dime si te funciona, un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #5 (permalink)  
Antiguo 19/07/2011, 04:55
 
Fecha de Ingreso: noviembre-2007
Mensajes: 19
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: No redirige página con header-location y Mysqli

Cita:
Iniciado por vgonga1986 Ver Mensaje
Prueba, si quieres salir de dudas, a añadir detrás del header("Location: libro.php"); un exit;

Si tienes más código debajo de la redirección, es mejor poner el exit para asegurarte que ese código nunca se ejecuta, por si dentro del mismo tienes algún otro cambio o algo así.

Dime si te funciona, un saludo.

Lo he intentado así
Código PHP:
Ver original
  1. header("Location: libro.php");

Pero no funciona. Lo curioso es que lo único que cambié fue:
Código PHP:
Ver original
  1. $link=Conectarse();
  2.  
  3.    mysql_query("insert into Libro (nick,comentario,fecha,ip,control,descartado) values ('$nick','$comentario','$fecha','$ip','$control','$descartado')",$link);

Por:
Código PHP:
Ver original
  1. $mysqli->query("insert into Libro (nick,comentario,fecha,ip,control,descartado) values ('$nick','$comentario','$fecha','$ip','$control','$descartado')");

Más la parte que conecta con la base de datos que la nueva es la que puse al principio del hilo. Y antes funcionaba.

Etiquetas: mysql, mysqli, página, formulario, usuarios
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 14:57.