Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

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
0
Resp
1096
Visitas
Por alber hace 28 meses
Administrador offline

Relaccionados

Para comentar Inicia sesión o Registrate