Como hacer un inicio y cierre de sesión en php
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 enlace
Editado
2
Puntos
Puntos
11152
Visitas
Visitas
0
Resp
Resp
Por alber hace 103 meses
Administrador