Sistema de autentificación con PHP y MySQL

Podemos implementar un login con este fragmento de código:

Se podría llamar control.php


//conecto con la base de datos
$conn = mysql_connect("servidor","usuario","password");
//selecciono la BBDD
mysql_select_db("nombre_bbdd",$conn);


//Sentencia SQL para buscar un usuario con esos datos
$ssql = "SELECT * FROM usuario WHERE nombre_usuario='$usuario' and clave_usuario='$contrasena'";


//Ejecuto la sentencia
$rs = mysql_query($ssql,$conn);


//vemos si el usuario y contraseña es váildo
//si la ejecución de la sentencia SQL nos da algún resultado
//es que si que existe esa conbinación usuario/contraseña
if (mysql_num_rows($rs)!=0){
    //usuario y contraseña válidos
    //defino una sesion y guardo datos
    session_start();
    session_register("autentificado");
    $autentificado = "SI";
    header ("Location: aplicacion.php"); 
}else {
    //si no existe le mando otra vez a la portada
    header("Location: index.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
?> 
Previamente debe existir una base de datos con la tabla de usuarios.


Está se llama desde el formulario:


<form action="control.php" method="POST">
<table align="center" width="225" cellspacing="2" cellpadding="2" border="0">
<tr>
<td colspan="2" align="center"
<?if ($_GET["errorusuario"]=="si"){?>
  bgcolor=red><span style="color:ffffff"><b>Datos incorrectos</b></span><?}else{?>
  bgcolor=#cccccc>Introduce tu clave de acceso
  <?}?></td>
</tr>
<tr>
<td align="right">USER:</td>
<td>
<input type="Text" name="usuario" size="8" maxlength="50">
</td>
  </tr>
  <tr>
<td align="right">PASSWD:</td>
<td>
<input type="password" name="contrasena" size="8" maxlength="50">
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="Submit" value="ENTRAR">
</td>
</tr>
</table>
</form>


Para crear la tabla de la base de datos:

CREATE TABLE usuarios ( 
      id bigint(7) NOT NULL AUTO_INCREMENT, 
      nick char(100) NOT NULL, 
      password char(100) NOT NULL, 
      nombre char(255) DEFAULT NULL, 
      email char(100) DEFAULT NULL, 
      KEY id (id))


Comentarios

Entradas populares