Foros del Web » Programando para Internet » PHP »

La página no está redirigiendo adecuadamente

Estas en el tema de La página no está redirigiendo adecuadamente en el foro de PHP en Foros del Web. hola buen día!! soy principiante en esto de la programacion en PHP pero ahora estoy tratando de hacer un login y ya pude conectar la ...
  #1 (permalink)  
Antiguo 28/11/2011, 17:22
 
Fecha de Ingreso: noviembre-2011
Mensajes: 2
Antigüedad: 12 años, 5 meses
Puntos: 0
La página no está redirigiendo adecuadamente

hola buen día!!
soy principiante en esto de la programacion en PHP pero ahora estoy tratando de hacer un login y ya pude conectar la Base de datos con PHP, ya me valida usuarios, el problema es al querer redireccionar, una vez validado, de la pagina de calidacion al index

he estado buscando este mismo tema en el foro y aunque hay varios la verdad es que aun no entiendo que es lo que le pasa a mi codigo. se los pongo a continuacion:

esta es la pagina de confirmacion de la existencia del usuario
<?php
$nombre = $_COOKIE['nombre'];
if ($nombre == ""){
header("LOCATION: login.php");
} else {
echo "Acceso permitido ¬¬";
header("LOCATION: index.php");
}
?>

si me pudieran ayudar explicandomelo con manzanas se los agradeceria
  #2 (permalink)  
Antiguo 28/11/2011, 17:33
Avatar de zerpico_01  
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: La página no está redirigiendo adecuadamente

prueba con html:

Código PHP:
<?php
$nombre 
$_COOKIE['nombre'];
if (empty(
$nombre)){
echo 
'<meta http-equiv="Refresh" content="0;url=login.php">';
} else {
echo 
"Acceso permitido";
<
meta http-equiv="Refresh" content="0;url=index.php">

}
?>
si el codigo esta funcionando en el mismo directorio de los archivo login.php y index.php:

Código PHP:
<?php
$nombre 
$_COOKIE['nombre'];
if (empty(
$nombre)){
header("Location: login.php");
exit;
} else {
echo 
"Acceso permitido";
header("Location: index.php");
exit;
}
?>
(si no estan en el mismo directorio debes agregar ../ segun la profundidad de los directorios.)

de un modo mas seguro seria:

Código PHP:
<?php
$nombre 
strip_tags((htmlentities($_COOKIE['nombre'],ENT_QUOTES));
if (empty(
$nombre)){
header("Location: login.php");
exit;
} else {
echo 
"Acceso permitido";
header("Location: index.php");
exit;
}
?>
saludos
__________________
Es duro fracasar en algo, pero es mucho peor no haberlo intentado. - Si crees todo lo que lees, mejor no leas -

Última edición por zerpico_01; 28/11/2011 a las 17:38
  #3 (permalink)  
Antiguo 28/11/2011, 18:00
 
Fecha de Ingreso: noviembre-2011
Mensajes: 2
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: La página no está redirigiendo adecuadamente

LISTO!!! los dos codigos me funcionaron, pero creo que adoptare el segundo :P
ahora, abusando de su generosidad, en el index tengo ya un contenedor con imagenes y con eso no tengo mayor problema, el problema, y creo que es la raiz de todos mis males, es que quiero protegerla, que no puedan acceder si no estan logueados, y tengo este codigo en el index:

<?php
include("confirmaLogin.php");
echo "la pagina esta protegida pero ya lograste entrar";
?>

pero segun lo que he estado leyendo es que de alguna manera esta volviendo a validar y por eso es que se esta haciendo una redundancia y no sale de la pagina de validacion
  #4 (permalink)  
Antiguo 28/11/2011, 22:03
Avatar de zerpico_01  
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: La página no está redirigiendo adecuadamente

ja!
se supone que si el usuario esta logueado debes tomar alguna accion como por ejemplo crear una galleta o session.

un ejemplo de session de usuario en tu archivo index tendrias que colocar justo despues
de <?php session_start();
luego la $_SESSION['algo por ejemplo id'] , entonces el codigo quedaria algo asi:

al principio de tu index deberia ir
Código PHP:
<?php session_start(); 
if(!empty(
$_SESSION['usuario_nombre']))
{
muestras el contenido de tu index...
}else{

muestras lo que quieres si no esta logueado o redireccionas

}

?>
ahora en tu pagina del codigo anterior deberia ser asi:

Código PHP:
<?php session_start(); 
$nombre strip_tags((htmlentities($_COOKIE['nombre'],ENT_QUOTES));
if (empty(
$nombre)){
header("Location: login.php");
exit;
} else {
//echo "Acceso permitido";
$_SESSION['usuario_nombre']=$nombre;
header("Location: index.php");
exit;
}
?>
luego en la de cierre de session debes eliminar la session...

bue la cosa es algo ma o meno asi
saludos

PD: busca en el foro hay mucho info al respecto...
__________________
Es duro fracasar en algo, pero es mucho peor no haberlo intentado. - Si crees todo lo que lees, mejor no leas -

Etiquetas: página, 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 17:42.