bueno como yo he estado trabajando algo con eso de las sesiones aqui te dejo un pequeño ejemplo de como seria una sesion.
primero que nada vas a crear un nuevo archivo con el nombre de session.php y este sera el contenido:
Código:
<?php
if(isset($HTTP_POST_VARS["password"]) && isset($HTTP_POST_VARS["usuario"])){
$password=$HTTP_POST_VARS["password"];
$usuario=$HTTP_POST_VARS["usuario"];
if ($usuario="administrator" && $password="otrebor"){
session_name("sesiondirh");
session_start();
$_SESSION['usuario']=$usuario;
$_SESSION['password']=$password;
Header ("Location: infophp.php");
}
else{
echo "<center><b>Datos de acceso incorrectos</b></center>";
}
}
?>
<html>
[body]
<br><br>
<center><b>Favor de introducir usuario y password para accesar</b></center>
<table align="center" valign="middle"><tr><td rowspan=2>
<form action="<? $PHP_SELF ?>" method="POST">
<fieldset>
<table border="0">
<tr><td>Usuario:</td><td width=80><input type=text name="usuario" size=20></td></tr>
<tr><td>Password:</td><td width=80><input type=password name="password" size=20></td></tr>
<tr><td></td><td width=80 align=center><input type="submit" height=20 width=80 value="Accesar"></td></tr>
</table>
</fieldset>
</form>
</td></tr></table>
[/body]
</html>
segundo paso necesitas un segundo archivo que llevara el nombre de infophp.php y este sera su contenido:
Código:
<?
session_name("sesiondirh");
session_start();
if(isset($_SESSION['usuario']) && isset($_SESSION['password'])){
phpinfo();
printf("<center><a href='cerrarsesion.php'>Cerrar Sesion</a></center>");
}
else{
echo "<center><b>Error de acceso: Necesitas iniciar sesion</b></center>";
}
?>
tercer paso tercer archivo con el nombre de cerrarsesion.php y este es su contenido:
Código:
<?
session_name("sesiondirh");
session_start();
session_unset();
session_destroy();
Header ("Location: session.php");
?>
ahora aqui va la explicacion de como trabaja esto:
ya que tengas los 3 archivos intentas accesar desde tu navegador web al archivo
infophp.php y te debe de salir un error de acceso ya que necesitas tener una sesion iniciada para poder accesar....ya que confirmes que no puedes entrar directamente a
infophp.php accesas al archivo
session.php el cual te mostrara un pequeño formulario que te pedira usuario y password, el usuario es
administrator y el password es
otrebor una ves que acceses bien los datos te debe de enviar ala pagina de
infophp.php el cual te mostrara la configuracion de tu php
ahora ya que estes en la pagina
infophp.php puedes accesar a cualquier otra pagina por ejemplo google o espaciolinux, ya que cargues alguna otra pagina luego accesa de nuevo a
infophp.php y debe de accesar sin problemas ¿porque? pues porque la sesion esta abierta y no se ha cerrado.
ahora al final de la pagina de
infophp.php tienes un link que dice cerrar sesion, si le das en el link llamara a la tercera pagina
cerrarsesion.php el cual se encargara de destruir la sesion que teniamos y si tratas de accesar directamente de nuevo ala pagina
infophp.php ya no debe de dejarte entrar a menos que primero pases por la pagina de
session.php
PD1: si te fijas en unas partes del codigo
session.php use [ ] en lugar de < > , eso fue porque me marca error al momento de quererlo postear .... lo que puse entre [ ] es en la parte del body al momento de abrirlo y cerrarlo solo tienes que hacer el cambio.
PD2:espero que se le entienda ya que es mucho texto...alomejor no necesitaba explicacion pero ya nimodos ya la puse
PD3:existen formas de crear sesiones mas seguras.
saludos!!