Foros del Web » Programando para Internet » PHP »

Redireccionar una pag. a otra pag.

Estas en el tema de Redireccionar una pag. a otra pag. en el foro de PHP en Foros del Web. Hola a todos.... Tengo una pregunta.. se que puede ser tonta, pero me estoy iniciando en este mundo de php... Quiero redireccionar desde una pagina ...
  #1 (permalink)  
Antiguo 03/11/2005, 13:38
 
Fecha de Ingreso: octubre-2005
Mensajes: 69
Antigüedad: 18 años, 5 meses
Puntos: 0
Exclamación Redireccionar una pag. a otra pag.

Hola a todos....

Tengo una pregunta.. se que puede ser tonta, pero me estoy iniciando en este mundo de php... Quiero redireccionar desde una pagina .php a otra pagina .php. Lei por alli que se utiliza el header("Location:XX.php) .. pero ademas y q hay q colocarlo antes de cualquier salida del navegador.. claro que esta funcion no me sirve... El codigo es el siguiente:

<?php include('components/header.php'); include('components/conection.php'); ?>

<?php
$var = $_POST["var"];
$pas = $_POST["pas"];

$result = pg_query($conexion, "select pas from users where var='$var' ");

//tomar el campo del query
$campo = pg_fetch_array ($result);

if ($pas == $campo['pas']) {
echo "ES IGUAL!!!";
} else {
echo "NO !!!!";
}
?>

<?php include('components/footer.php');?>

Dentro del if y del else.. quiero direccionar a una u otra pagina .php

Gracias por la colaboracion....
__________________
Ana Martins
  #2 (permalink)  
Antiguo 03/11/2005, 13:55
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 19 años, 10 meses
Puntos: 2
Tienes dos opciones. Una es hacer la validación antes de meter el
<?php include('components/header.php'); y entonces redirigir o utilizar javascript:

echo "<script>self.location.href='pagina.php'</script>";

Pero la mejor opción es la primera.
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #3 (permalink)  
Antiguo 03/11/2005, 14:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Yo usaría una redirección desde cabeceras HTTP:

Código PHP:
header ("Location: dondetengasqueir.php");
exit; 
Eso sí .. ahí sobraría ese "footer.php" que pueda contener algo de salida (HTML .. etc) hacia el navegador .. por qué no corresponde .. TU validación redireccionará en caso de que falle o tengas exito a donde corresponda.

Si quieres mostrar un mensaje de error o exito del proceso .. hazlo en la página donde redirecciones, usando una variable de control que pasaras por el URL tipo:

Código PHP:
header ("Location: dondetengasqueir.php?mensaje=1");
exit; 
y .. dondetengasqueir.php

Código PHP:
if (isset($_GET['mensaje'])){
   echo 
"Hay un mensaje código: ".$_GET['mensaje'];

A partir de ahí gestionas como guestes el mensaje de error..

Un saludo,
  #4 (permalink)  
Antiguo 03/11/2005, 20:06
 
Fecha de Ingreso: octubre-2005
Mensajes: 69
Antigüedad: 18 años, 5 meses
Puntos: 0
enlace de una pag. php a otra php....

Hola.. gracias por sus pronta respuestas… pero hay un detallito que no comprendo… lo que leí, el header ("Location: dondetengasqueir.php"); solo lo puedo colocar en la primera línea de mi archivo .php, ya que si lo coloco dentro del if (del código que le mostré antes) me sale un error….en ese caso como haria??? o es que tengo un malentendido y se puede colocar dentro del if???... Ahora bien, en el código que les puse en mi anterior pregunta.. las líneas:

include('components/header.php'); include('components/conection.php');
el primer include solo tiene cabecera de etiquetas <html> , <body> y el otro include abre la conexión a la base de datos.

Al final del archivo coloco un <?php include('components/footer.php');?> que no es mas que cerrar las etiquetas </html> y </body>

Creo que es mejor copiarles aquí el código nuevamente, para facilitar la lectura de mi pregunta.. Gracias una vez más… saludos

<?php include('components/header.php'); include('components/conection.php'); ?>

<?php
$var = $_POST["var"];
$pas = $_POST["pas"];

$result = pg_query($conexion, "select pas from users where var='$var' ");

//tomar el campo del query
$campo = pg_fetch_array ($result);

if ($pas == $campo['pas']) {
echo "ES IGUAL!!!";
} else {
echo "NO !!!!";
}
?>

<?php include('components/footer.php');?>
__________________
Ana Martins
  #5 (permalink)  
Antiguo 04/11/2005, 01:37
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 19 años, 10 meses
Puntos: 2
Si en los dos caso vas a redigirir a otra página te sobra tanto el header como el footer ya que nunca se van a mostrar:

Código PHP:
<?php 
include('components/conection.php'); 
$var $_POST["var"];
$pas $_POST["pas"];
$result pg_query($conexion"select pas from users where var='$var' "); 

//tomar el campo del query
$campo pg_fetch_array ($result);

if (
$pas == $campo['pas']) {
    
header("location: paginaSi.php");
} else {
   
header("location: paginaNo.php");
}
exit;
?>
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #6 (permalink)  
Antiguo 04/11/2005, 15:48
 
Fecha de Ingreso: octubre-2005
Mensajes: 69
Antigüedad: 18 años, 5 meses
Puntos: 0
Gracias... ya resolvi el problema... es como habia puesto primero una linea con echo "XXX", y luego el header("location: index.php"); salia un error.. y claro es porque no puedo colocar una salida de browser antes del header("location:xxx.php");

GRACIAS!!!!
__________________
Ana Martins
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 20:24.