Ejemplo de como hacer un inicio y cierre de sesión en php, Login And Logout PHP en ingles, utilizaremos un método sencillo que sirva como base. Decir que para esto obviamente necesitamos una base de datos donde se guarden los nombres de usuario y las contraseñas.
Vamos a hacer un formulario que se encargue de enviar el nombre de usuario y la contraseña al fichero login.php:
<form action="login.php" method="post"> <input type="text" name="user"><br> <input type="password" name="password"><br> <input type="submit" value="Iniciar"> </form>Ahora el fichero login.php:
<?php
//Conectamos a la base de datos
$hostname_db = "localhost";
$database_db = "basedatos";
$username_db = "usuario";
$password_db = "password";
$conexion = mysql_pconnect($hostname_db, $username_db, $password_db) or trigger_error(mysql_error(),E_USER_ERROR);
//Seleccionamos la base de datos
mysql_select_db($database_db, $conexion);
//Consultamos si existe la cuenta por user y password (en md5)
$instruccion=sprintf("SELECT * FROM users WHERE nombre=%s AND password=%s",
GetSQLValueString($_POST['user'], "text"),
GetSQLValueString(md5($_POST['password']), "text"));
$consulta=mysql_query($instruccion);
$datos=mysql_fetch_assoc($consulta);
$cantidad=mysql_num_rows($consulta);
if ($cantidad==1){
//Si existe iniciamos la sesión
$_SESSION['nombreuser']=$datos['nombre'];
$_SESSION['iduser']=$datos['id'];
//Redireccionamos a la pagina usuario.php
header('Location: usuario.php');
}
//Si no existe redireccionamos a la pagina error.php
else header('Location: error.php');
mysql_free_result($consulta);
?>El botón para cerrar la sesión con el fichero cerrar.php:<a href="cerrar.php?cerrar=yes">Cerrar</a>El fichero cerrar.php:
<?php
if(isset($_GET['cerrar'])) {
//Vaciamos y destruimos las variables de sesión
$_SESSION['iduser'] = NULL;
$_SESSION['nombreuser'] = NULL;
unset($_SESSION['iduser']);
unset($_SESSION['nombreuser']);
//Redireccionamos a la pagina index.php
header('Location: index.php');
}
?>
Podemos ver un ejemplo en vídeo desde este enlaceEditado
2
Puntos
Puntos
10744
Visitas
Visitas
0
Resp
Resp
Por alber hace 10 años
Admin