Sistema de autentificación con PHP y MySQL
Podemos implementar un login con este fragmento de código:
Se podría llamar control.php
Está se llama desde el formulario:
Para crear la tabla de la base de datos:
Se podría llamar control.php
Previamente debe existir una base de datos con la tabla de usuarios.
//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);
?>
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