Vous êtes sur la page 1sur 4

Tutorial login en php y mysql

Paso N1 - Creacin del index.php


<?php
session_start();
?>
M&aacute;s ejemplos en <a
href="http://www.diseowebdf.com.ar">www.diseowebdf.com.ar</a><br />
Gracias por tus comentarios.<br />
<?php
echo 'Bienvenido, ';
if (isset($_SESSION['k_username'])) {
echo '<b>'.$_SESSION['k_username'].'</b>.';
echo '<p><a href="logout.php">Logout</a></p>';
}else{
echo '<p><a href="login.php">Login</a></p>
<p><a href="registrar.php">Registrar</a></p>';
}
?>

Paso N2 - Creacin de login.php (Donde el usuario iniciar sesin con su usuario y


contrasea)
<form action="validar_usuario.php" method="post">
Usuario:<input type="text" name="usuario" size="20" maxlength="20" />
<br />
Password:<input type="password" name="password" size="10"
maxlength="10" />
<br />
<input type="submit" value="Ingresar" />
</form>

Paso N3 - Creacin de validar_usuario.php (La conexin con la base de datos)


<?php
session_start();
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','usuario','password')or die ('Ha fallado la
conexin: '.mysql_error());
mysql_select_db('mi_base')or die ('Error al seleccionar la Base de
Datos: '.mysql_error());
function quitar($mensaje)
{
$nopermitidos = array("'",'\\','<','>',"\"";
$mensaje = str_replace($nopermitidos, "", $mensaje);
return $mensaje;
}
if(trim($HTTP_POST_VARS["usuario"]) != "" &&
trim($HTTP_POST_VARS["password"]) != ""
{

// Puedes utilizar la funcion para eliminar algun caracter en


especifico
//$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
//$password = $HTTP_POST_VARS["password"];
// o puedes convertir los a su entidad HTML aplicable con htmlentities
$usuario = strtolower(htmlentities($HTTP_POST_VARS["usuario"],
ENT_QUOTES));
$password = $HTTP_POST_VARS["password"];
$result = mysql_query('SELECT password, usuario FROM usuarios WHERE
usuario=\''.$usuario.'\'');
if($row = mysql_fetch_array($result)){
if($row["password"] == $password){
$_SESSION["k_username"] = $row['usuario'];
echo 'Has sido logueado correctamente '.$_SESSION['k_username'].'
<p>';
echo '<a href="index.php">Index</a></p>';
//Elimina el siguiente comentario si quieres que re-dirigir
automticamente a index.php
/*Ingreso exitoso, ahora sera dirigido a la pagina principal.
<SCRIPT LANGUAGE="javascript">
location.href = "index.php";
</SCRIPT>*/
}else{
echo 'Password incorrecto';
}
}else{
echo 'Usuario no existente en la base de datos';
}
mysql_free_result($result);
}else{
echo 'Debe especificar un usuario y password';
}
mysql_close();
?>

Paso N4 - Creacin de registrar.php (Donde el usuario deber registrarse si no tiene


usuario y contrasea)
<?php
session_start();
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','usuario','password')or die ('Ha fallado la
conexin: '.mysql_error());
mysql_select_db('mi_base')or die ('Error al seleccionar la Base de
Datos: '.mysql_error());
function formRegistro(){
?>
<form action="registrar.php" method="post">
Usuario (max 20):
<input type="text" name="username" size="20" maxlength="20" /><br />
Password (max 10):
<input type="password" name="password" size="10" maxlength="10" />

Confirma: <input type="password" name="password2" size="10"


maxlength="10" /><br />
Email (max 40):
<input type="text" name="email" size="20" maxlength="40" /><br />
<input type="submit" value="Registrar" />
</form>
<?php
}
// verificamos si se han enviado ya las variables necesarias.
if (isset($_POST["username"])) {
$username = $_POST["username"];
$password = $_POST["password"];
$password2 = $_POST["password2"];
$email = $_POST["email"];
// Hay campos en blanco
if($username==NULL|$password==NULL|$password2==NULL|$email==NULL) {
echo "un campo est vacio.";
formRegistro();
}else{
// Coinciden las contraseas?
if($password!=$password2) {
echo "Las contraseas no coinciden";
formRegistro();
}else{
// Comprobamos si el nombre de usuario o la cuenta de correo ya
existan
$checkuser = mysql_query("SELECT usuario FROM usuarios WHERE
usuario='$username'";
$username_exist = mysql_num_rows($checkuser);
$checkemail = mysql_query("SELECT email FROM usuarios WHERE
email='$email'";
$email_exist = mysql_num_rows($checkemail);
if ($email_exist>0|$username_exist>0) {
echo "El nombre de usuario o la cuenta de correo estan ya en uso";
formRegistro();
}else{
$query = 'INSERT INTO usuarios (usuario, password, email, fecha)
VALUES
(\''.$username.'\',\''.$password.'\',\''.$email.'\',\''.date("Y-m-d"
.'\')';
mysql_query($query) or die(mysql_error());
echo 'El usuario '.$username.' ha sido registrado de manera
satisfactoria.<br />';
echo 'Ahora puede entrar ingresando su usuario y su password <br />';
?>
<FORM ACTION="validar_usuario.php" METHOD="post">
Usuario : <INPUT TYPE="text" NAME="usuario" SIZE=20 MAXLENGTH=20><br
/>
Password: <INPUT TYPE="password" NAME="password" SIZE=10
MAXLENGTH=10><br />
<INPUT TYPE="submit" VALUE="Ingresar">
</FORM>
<?php

}
}
}
}else{
formRegistro();
}
?>

Paso N5 - Creacin del logout (Donde el usuario cerrar la sesin)


<?php
session_start();
// Borramos toda la sesion
session_destroy();
echo 'Ha terminado la session <p><a href="index.php">index</a></p>';
?>
<SCRIPT LANGUAGE="javascript">
location.href = "index.php";
</SCRIPT>
Paso N6 - Creacin de la base de datos usuarios
CREATE TABLE `usuarios` (
`id` int(11) NOT NULL auto_increment,
`usuario` varchar(20) NOT NULL,
`password` varchar(10) NOT NULL,
`descripcion` text character set utf8 collate utf8_spanish_ci,
`email` varchar(45) character set utf8 collate utf8_spanish_ci default
NULL,
`fecha` date NOT NULL,
PRIMARY KEY (`id`)
)

Vous aimerez peut-être aussi