Anda di halaman 1dari 8

Crear un Registro de usuarios con

PHP y MySQL
Crear un Registro de usuarios en PHP con MySQL

Hola a todas y todos en este tutorial desarrollaremos y


explicaremos como crear un sistema de registros de
usuarios, este tutorial es una continuación de
este: Como crear un sistema de login de usuarios.

1. Preparando una tabla en MySQL

Vamos a comenzar preparando una tabla en nuestra


base de datos, la cual almacenara la información de
los usuarios, para crear la tabla simplemente copia y
ejecuta la siguiente consulta SQL:

CREATE TABLE `usuarios` (


`idusuario` INT(11) NOT NULL AUTO_INCREMENT,
`usuario` VARCHAR(20) NOT NULL,
`password` VARCHAR(10) NOT NULL,
PRIMARY KEY (`idusuario`)
)
2. Conectando a MySQL en PHP

Ya una vez que tengamos la estructura de nuestra


tabla, creamos un archivo llamado conexion.php.
<?php
// datos para la coneccion a mysql
define('DB_SERVER','localhost');
define('DB_NAME','TU_BASE_DE_DATOS');
define('DB_USER','TU_USUARIO');
define('DB_PASS','TU_CLAVE');
$con = mysql_connect(DB_SERVER,DB_USER,DB_PASS);
mysql_select_db(DB_NAME,$con);
?>
La funcion define como su nombre lo dice, se usa para
definir una constante nominada, que nos permite
almacenar valores escalares(string, integer, float,
boolean y nulos) y su estructura es:
define(CONSTANTE,VALOR);

La función de
mysql_connect('ServidorMySQL','Usuario','Pass') nos
servira para abrir una conexión al servidor de MySQL
usando los 3 parámetros que declaramos
anteriormente. Luego mysql_select_db selecciona la
base de datos usando 2 parámetros, el nombre de la
base de datos y la conexión a usar.

3. index.php

Ahora pasamos el archivo index.php, el cual contendrá


el formulario de registro y al mismo tiempo el mensaje
de “fue registrado correctamente” o “faltan llenar
campos”.[/align]
<?php
session_start();//crea una sesión para ser usada mediante una petición GE
T o POST, o pasado por una cookie y la sentencia include_once es la usare
mos para incluir el archivo de conexión a la base de datos que creamos an
teriormente.
include_once "conexion.php";
<form action="" method="post" class="registro">
<div><label>Usuario:</label>
<input type="text" name="usuario"></div>
<div><label>Clave:</label>
<input type="password" name="password"></div>
<div><label>Repetir Clave:</label>
<input type="password" name="repassword"></div>
<div>
<input type="submit" name="enviar" value="Registrar"></div>
</form>
/*Creamos el formulario con el campo de Usuario que se llamara $_POST['us
uario'] y 2 campos para la clave y uno mas para confirmar si escribió bie
n la clave, se llamaran $_POST['password'] y $_POST['repassword'] respect
ivamente, procedemos a escribir el codigo que procesara y validara lo que
el usuario ingrese:*/
if(isset($_POST['enviar']))//para saber si el botón registrar fue presion
ado.
{
if($_POST['usuario'] == '' or $_POST['password'] == '' or $_POST['rep
assword'] == '')
{
echo 'Por favor llene todos los campos.';//Si los campos están va
cíos muestra el siguiente mensaje, caso contrario sigue el siguiente codi
go.
}
else
{
$sql = 'SELECT * FROM usuarios';
$rec = mysql_query($sql);
$verificar_usuario = 0;//Creamos la variable $verificar_usuario q
ue empieza con el valor 0 y si la condición que verifica el usuario(abajo
), entonces la variable toma el valor de 1 que quiere decir que ya existe
ese nombre de usuario por lo tanto no se puede registrar

while($result = mysql_fetch_object($rec))
{
if($result-
>usuario == $_POST['usuario']) //Esta condición verifica si ya existe el
usuario
{
$verificar_usuario = 1;
}
}

if($verificar_usuario == 0)
{
if($_POST['password'] == $_POST['repassword'])//Si los campos
son iguales, continua el registro y caso contrario saldrá un mensaje de
error.
{
$usuario = $_POST['usuario'];
$password = $_POST['password'];
$sql = "INSERT INTO usuarios (usuario,password) VALUES ('
$usuario','$password')";//Se insertan los datos a la base de datos y el u
suario ya fue registrado con exito.
mysql_query($sql);

echo 'Usted se ha registrado correctamente.';


}
else
{
echo 'Las claves no son iguales, intente nuevamente.';
}
}
else
{
echo 'Este usuario ya ha sido registrado anteriormente.';
}
}
}?>
Decoración opcional con CSS...

Esta parte es opcional ya que no influye en nada en el


funcionamiento del sistema, es unicamente decorativa:

*{
font-size: 14px;
font-family: sans-serif;
}
form.login {
background: none repeat scroll 0 0 #F1F1F1;
border: 1px solid #DDDDDD;
margin: 0 auto;
padding: 20px;
width: 278px;
}
form.login div {
margin-bottom: 15px;
overflow: hidden;
}
form.login div label {
display: block;
float: left;
line-height: 25px;
}
form.login div input[type="text"], form.login div input[type="password"]
{
border: 1px solid #DCDCDC;
float: right;
padding: 4px;
}
form.login div input[type="submit"] {
background: none repeat scroll 0 0 #DEDEDE;
border: 1px solid #C6C6C6;
float: right;
font-weight: bold;
padding: 4px 20px;
}
.error{
color: red;
font-weight: bold;
margin: 10px;
text-align: center;
}

Así quedaría el archivo index.php

<?php
session_start();
include_once "conexion.php";

?>
<style>
*{
font-size: 14px;
font-family: sans-serif;
}
form.registro{
background: none repeat scroll 0 0 #F1F1F1;
border: 1px solid #DDDDDD;
margin: 0 auto;
padding: 20px;
width: 278px;
box-shadow:0px 0px 20px black;
border-radius:10px;
position:relative;
top:30px;
}
form.registro div {
margin-bottom: 15px;
overflow: hidden;
}
form.registro div label {
display: block;
float: left;
line-height: 25px;
}
form.registro div input[type="text"], form.registro div input[typ
e="password"] {
border: 1px solid #DCDCDC;
float: right;
padding: 4px;
}
form.registro div input[type="submit"] {
background: none repeat scroll 0 0 #DEDEDE;
border: 1px solid #C6C6C6;
float: right;
font-weight: bold;
padding: 4px 20px;
}
.error{
color: red;
font-weight: bold;
margin: 10px;
text-align: center;
}
</style>

<form action="" method="post" class="registro">


<div><label>Usuario:</label>
<input type="text" name="usuario"></div>
<div><label>Clave:</label>
<input type="password" name="password"></div>
<div><label>Repetir Clave:</label>
<input type="password" name="repassword"></div>
<div>
<input type="submit" name="enviar" value="Registrar"></div>
<b>@chucky55</b>
</form>

<?php
if(isset($_POST['enviar']))
{
if($_POST['usuario'] == '' or $_POST['password'] == '' or $_POST['rep
assword'] == '')
{
echo 'Por favor llene todos los campos.';
}
else
{
$sql = 'SELECT * FROM usuarios';
$rec = mysql_query($sql);
$verificar_usuario = 0;

while($result = mysql_fetch_object($rec))
{
if($result->usuario == $_POST['usuario'])
{
$verificar_usuario = 1;
}
}

if($verificar_usuario == 0)
{
if($_POST['password'] == $_POST['repassword'])
{
$usuario = $_POST['usuario'];
$password = $_POST['password'];
$sql = "INSERT INTO usuarios (usuario,password) VALUES ('
$usuario','$password')";
mysql_query($sql);

echo 'Usted se ha registrado correctamente.';


}
else
{
echo 'Las claves no son iguales, intente nuevamente.';
}
}
else
{
echo 'Este usuario ya ha sido registrado anteriormente.';
}
}
}
?>

Anda mungkin juga menyukai