Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/09/2009, 19:32
David_erh
 
Fecha de Ingreso: noviembre-2003
Mensajes: 127
Antigüedad: 20 años, 5 meses
Puntos: 1
redirección automática a la página anterior

Saludos a toda la gente del foro.
Tengo una página en la cual para acceder a una sección de la web llamada infoexclusiva.php hay que estar registrado, si el usuaro no se ha logueado y desea acceder a infoexclusiva.php lo envía directo a la página login.php una vez que se loguea redirecciona a la página infoexclusiva.php automáticamente utilizando la sentencia:
header ("Location: infoexclusiva.php");
pero ahora no solo quiero que la seguridad se aplique a la página infoexclusiva.php sinó a otras dos una un panel en el cual el usuario puede cambiar la contraseña y otra en la cual el usuario puede actualizar sus datos, pero no se como hacer eso, algo así como las webs en las que puedes ver el contenido de algunas páginas pero para acceder a las descargas o acceder a los links de descargas tienes q estar logueado. Una vez que el usuario se loguea regresa a la página que el usuario estaba viendo.
A continuación pego el código que utilizo.

seguridad.php
Código:
//si es necesario cambiar la config. del php.ini desde el script
ini_set("session.use_only_cookies","1");
ini_set("session.use_trans_sid","0");

session_set_cookie_params(0, "/", $HTTP_SERVER_VARS["HTTP_HOST"], 0);
//cambiamos la duración a la cookie de la sesión

session_name("loginUsuario");
session_start();
ob_start();

if( !isset( $_SESSION['autentificado'] ) or $_SESSION["autentificado"] != 'SI' )
{
unset( $_SESSION['autentificado'] ); 

session_destroy();
header("Location: login.php");
}
check_login.php
Código:
include("conectar.php");
//si es necesario cambiar la config. del php.ini desde el script
ini_set("session.use_only_cookies","1");
ini_set("session.use_trans_sid","0"); 

//adquiero los datos del formulario
$usuario= ($_POST["usuario"]);
$contrasena=($_POST["contrasena"]);

//Sentencia SQL para buscar un usuario con esos datos y que tenga estado habilitado
$ssql = "SELECT * FROM USUARIOS WHERE nombre_usuario='$usuario' and clave_usuario='$contrasena' and habilitado=1";
//Ejecuto la sentencia
$rs = mysql_query($ssql,$conn); 

//vemos si el usuario y contraseña es váildo
//si la ejecución de la sentencia SQL nos da algún resultado
//es que si que existe esa conbinación usuario/contraseña 
if (mysql_num_rows($rs)!=0){
    //usuario y contraseña válidos
    //defino una sesion y guardo datos
	session_name("loginUsuario");
	//asignamos un nombre a la sesión para guardar diferentes datos
    session_start();
	// inicio la sesión 
	session_set_cookie_params(0, "/", $HTTP_SERVER_VARS["HTTP_HOST"], 0);
   //cambiamos la duración a la cookie de la sesión
    $_SESSION["autentificado"]= "SI";
	//se ha definido que la sesion está autorizada
	$_SESSION["ultimoAcceso"]=date("Y-n-j H:i:s");
	 //defino la fecha y hora de inicio de sesión en formato aaaa-mm-dd hh:mm:ss 
    header ("Location: infoexclusiva.php");
}else {
    //si no existe le mando otra vez a la portada
    header("Location:  login.php?errorusuario=si");
} 
mysql_free_result($rs);
mysql_close($conn);
Espero me puedan dar algunas pistas para solucionar esta duda.

Gracias y muchos saludos.

David