login.php
Código PHP:
include('conectar.php');
if(!isset($_SESSION[usuario]) )
{
echo '<form action="autentificar.php" method="POST">
Nick: <input type="text" name="nick" size="30"><br>
Password: <input type="password" name="pass" size="30" ><br>
<input type="submit" name="submit" value="Enviar"></form>';
}else{
echo 'Bienvenido '.$_SESSION[usuario];
echo '<br>Tu nivel es '.$_SESSION[nivel];
if($_SESSION[nivel] == 1)
{
header('Location: paginaprivada.php');
}
echo '<br><a href=logout.php>Salir</a>';
}
Código PHP:
include('conectar.php');
if( ($_POST[nick] == ' ') or ($_POST[pass] == ' ') )
{
Header("Location:login.php");
}else{
//comprobamos en la db si existe ese nick con esa pass
$usuarios=mysql_query("SELECT * FROM usuarios WHERE nick_usuario='$_POST[nick]' and password_usuario='$_POST[pass]' ");
if($user_ok = mysql_fetch_array($usuarios))
{
session_register("usuario");
session_register("idusuario");
session_register("nivel");
$_SESSION[usuario] = $user_ok["nick_usuario"];
$_SESSION[codusuario] = $user_ok["id_usuario"];
$_SESSION[nivel] = $user_ok["nivel_usuario"];
Header("Location: login.php");
}else{
echo 'Nick y pass incorrectos';
}
}
- ¿Así está bien o hay otra forma de hacerlo? ¿se podría hacer algo "un poco más seguro"?
- ¿como hacer para que no se pueda entrar desde el navegador tipeando las direcciones de las páginas privadas? ¿se puede restringir por ejemplo llamando a la session iniciada con un include?
Gracias de entemano y saludos para todos. Marx.