ingreso =>comprueba =>pagina=/=>logout
login.php comprueba.php user.php logout.php
El esquema este es como funciona, si entra a user.php; primero verifica si inicio sesion de no ser asi lo redirecciona a login.php, luego de iniciada la sesion volvemos a comprueba.php y finalmente a user.php, la de logout es para salirse de la sesion o cuando esta expira en algunos minutos, y asi se crea tipo bucle desde el principio.
Ahora el codigo de cada archivo:
login.php
Código PHP:
<?
session_start();
if(isset($SESSION)){
header("location:user.php"); /* Si ha iniciado la sesion, vamos a user.php */
} else {
/* Cerramos la parte de codigo PHP porque vamos a escribir bastante HTML y nos sera mas comodo asi* que metiendo echo's */
?>
<html><head><title>Necesita identificacion! </title></head>
<body>
<center><h1>Identificate! :D </h1></center>
<form action="comprueba.php" method="POST">
Login: <input type="text" name="login"><br>
Password: <input type="password" name="pass"><br>
<input type="submit" value="Entrar">
</form>
</body></html>
<?
} /* Y cerramos el else */
?>
comprueba.php
Código PHP:
<?
session_start();
$server="localhost"; /* Nuestro server mysql */
$database="bd"; /* Nuestra base de datos */
$dbpass="pass"; /*Nuestro password mysql */
$dbuser="user"; /* Nuestro user mysql */
$query="SELECT * FROM usuarios WHERE login='$login'";
$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);
if(mysql_num_rows($result)==0){
echo "No existe el login introducido";
} else {
$array=mysql_fetch_array($result);
if($array["password"]==crypt($pass,"semilla") ){
/* Comprobamos que el password encriptado en la BD coincide con el password que nos han dado al encriptarlo. Recuerda usar la misma semilla para encriptar los dos passwords. */
$SESSION["login"]=$login;
$SESSION["nombre"]=$array["nombre"];
$SESSION["apellidos"]=$array["apellidos"];
session_register("SESSION");
header("location:user.php");
} else {
echo "Password incorrecto!";
} /* Cerramos este ultimo else */
} /* Cerramos el else que corresponde a la comprobación de que el login existe */
?>
user.php
Código PHP:
<?
session_start();
if(!isset($SESSION)){
header("location:login.php");
} else {
echo "<html><body>";
echo "Bienvenido ";
echo $SESSION["nombre"]." ";
echo $SESSION["apellidos"];
echo "<br>Has entrado con el nombre de usuario ";
echo $SESSION["login"];
echo "<br>Para cerrar la sesión, pulsa: <a href='logout.php'>logout</a>";
echo "</body></html>";
}
?>
logout.php
Código PHP:
<?
session_start();
if(!isset($SESSION)){
header("location:login.php");
} else {
session_unset();
session_destroy();
echo "Las variables de sesión han sido eliminadas, y la sesión se ha dado por finalizada correctamente ;-)";
}
?>
aca va mi pregunta: ¿como hacer que solo me quede el boton de ingreso (sin user ni pass) que solo toque el boton y listo?
quedandome asi:
boton => user =/=> logout