You are on page 1of 95

Bienvenid@s taringueros de America y del Mundo

a este post!!!
En esta ocasin veremos como realizar un sistema de
registro y login para nuestro sitio web.
Para ello nos valdremos de un lenguaje ejecutado en
el servidor, PHP.
PHP a diferencia de HTML que se ejecuta del lado del
cliente (browser) es ejecutado en el server donde se
encuentra alojado nuestro sitio,permitiendo a nuestros
visitantes acceder a un contenido mas dinamico,
accediendo o subiendo archivos y/o a datos de una
bases de datos.
Para comenzar a codificar e ir probando nuestra
pgina es necesario contar con un localhost, en mi
caso uso WampServer pueden descargarlo
desde aqu.
Detalles de instalacin en phpya.com.ar
Para la correcta instalacin de WampServer se debe

contar con la librera Microsoft Visual C++ 2010 SP1 la


cual puedes descargar aqu.

Para realizar el cdigo basta con un simple editor de


texto, incluso un block de notas de windos, pero para
hacer mas sencillo el trabajo podemos valernos de un
editor de cdigo como dreamweaver o algo as, yo en
lo personal uso notepad++:
Notepad++ v6.5.3 download
Ademas de trabajar con scripts PHP vamos a necesitar
una base de datos, en este caso WampServer incluye
todo lo necesario para nuestra tarea, servidor apache
soporte para PHP y manejador MySql.

WampServer crea por defecto un directorio en nuestro


sistema:
C:/wamp/www

Y en la carpeta www es donde crearemos nuestros


archivos a ejecutar de manera local.

Una vez instalado el WampServer e iniciado,


procedemos a crear una base de datos en nuestro sistema, para
ingresar al administrador debemos clickear en el icono
que se instala en la barra de tareas:

y acceder a la opcin php my admin:

Y se abrir en nuestro navegador el manejador de


base de datos MySql:

All lo que hacemos es crear una nueva base de datos


con el nombre que mas nos guste:

Bien, a esta altura la base de datos est creada pero


necesita tener una estructura, y para eso solo
crearemos tres campos en este caso, uno ser un
numero de id, otro el usuario (que puede ser la
direccion de mail y un password para la seguridad del
usuario).
Para esto ingresamos en la parte de lenguaje sql:

Este es el script sql:


"
CREATE TABLE `usuarios` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,

`mail` VARCHAR( 60 ) NOT NULL ,


`password` VARCHAR( 60 ) NOT NULL
)

Y nuestra base de datos est pronta:

Bien, por ahora el trabajo con la base de datos est


pronto, vamos a codificar el documento .php, yo lo que
hice fu crear un directorio llamado "taringaprueba"
ubicado en la carpeta www:

Yo usualmente uso Notepad++, donde creo un nuevo


documento y selecciono como lenguaje php para
resaltar la sintxis:

Y all podemos comenzar creando la estructura bsica


de un documento HTML (aunq sea un php) y le llamo
index y lo guardo en la carpeta que cre antes:

Para probar el servidor podemos hacer un clsico hola


mundo:

Ntese que el script php est "inyectado" o "embebido"


dentro de una estructura html y que la forma de
identificar un script o un documento php es de esta
manera (aunq para embeber hay otras):
"
"<?php
?>

Para ejecutar el archivo php deben cambiar la ruta

absoluta por "localhost":

Lo primero que haremos ser crear una pgina index


tipo "home" de prueba.
En el caso de que ustedes quieran editar luego su
pgina para agregar el sistema deberan copiar todo el
cdigo html de su pgina y pegarlo en un nuevo
documento php y luego referenciar a este ltimo.
Para probar hice primero una index de prueba y aparte
un directorio css y dentro un estilo para esttica que
agrego en el php (como cualquier css externo), un
encabezado con un texto y un par de imgenes:
"
<!DOCTYPE html>
<html>
<head>
<title>php_prueba</title>
<link rel="stylesheet" style=text/css href="css/estilo.css">
</head>
<body>
<header>
<h1 class="headtype">@diazespina<h1>
<img class="logoimage"src ="http://sia1.subirimagenes.net/img/2014/01/24/14012407263823065.p
ng" width="120" height="100">
<img class="logoimage"src ="http://userlogos.org/files/logos/jumpordie/taringa-iphone_01.png" widt
h="130" height="100">
</header>

</body>
</html>

el css:
"
header{
position:absolute;
width:100%;
height:170px;

background:#08088A;
vertical-align: middle;
line-height: 0px;
text-align:center;
opacity:0.8;
left:0;
top:0;
}
.headtype{
font-size:400%;
font-family:"Verdana", Geneva, sans-serif;
text-shadow:2px 2px #47477E;
}
body{
background:#CED8F6;
}
img{
margin-top:-15px;
}

creamos dos links,uno para registrarnos y otro para


loguearnos en el caso de que ya estemos registrados,
pero lo haremos dentro de un script php para luego
dependiendo de si el visitante est logueado o no
mostrarle distintas opciones:

"
<!DOCTYPE html>
<html>
<head>
<title>php_prueba</title>
<link rel="stylesheet" style=text/css href="css/estilo.css">
</head>
<body>
<header>
<h1 class="headtype">@diazespina<h1>
<img class="logoimage"src ="http://sia1.subirimagenes.net/img/2014/01/24/14012407263823065.p
ng" width="120" height="100">
<img class="logoimage"src ="http://userlogos.org/files/logos/jumpordie/taringa-iphone_01.png" widt
h="130" height="100">
</header>
<nav id ="enlaces">
"<?php
echo"
<ul>
<li>
<a href='#'>Registrate</a>
</li>
<li>
<a href='#'>Ingresa</a>
</li>
</ul>
"
?>
</nav>
</body>
</html>

css:
"
#enlaces{
position:absolute;
top:200px;
font-size:200%;
}
#enlaces a{
color:gray;
text-decoration:none;
}
#enlaces a:visited{
color:gray;
text-decoration:none;
}
#enlaces a:hover{
color:black;
}
#enlaces ul{
list-style-type:none;
}

Ahora debemos crear dos formularios, uno de registro


y uno de ingreso, vamos al de registro, que ser un
nuevo documento tipo HTML que tendr por nombre
"reg-form.html"
"
<!DOCTYPE html>

<html>
<head>
<link rel="stylesheet" style=text/css href="css/estilo.css">
</head>
<body>
<header>
<h1 class="headtype">@diazespina<h1>
<img class="logoimage"src ="http://sia1.subirimagenes.net/img/2014/01/24/14012407263823065.p
ng" width="120" height="100">
<img class="logoimage"src ="http://userlogos.org/files/logos/jumpordie/taringa-iphone_01.png" widt
h="130" height="100">
</header>
<div id="formulario_registro">
<form method="post" class="signin" action="registro.php">
<fieldset class="textbox">
<label class="username">
<span>Email</span>
<input id="username" name="email" value="" type="text" autocomplete="on" placeholder=
"Usuario" required>
</label>
<label class="password">
<span>Contrase&ntilde;a</span>
<input id="password" name="password" value="" type="password" placeholder="Contras
e&ntilde;a" required>
</label>
<input type="submit" id="go" value="Enviar">
<input type="button" id="cancel"value="Cancel" onClick="window.location.href='index.ph
p'">
</fieldset>
</form>
</div>
</body>
</html>

el css:
"
#formulario_registro{
position:absolute;
top:200px;
width:200px;
height:140px;
margin: 0 auto;
top: 50%;
left: 50%;
margin-top: -100px;
margin-left: -100px;
background:gray;
}
#go{
color:green;
}
#cancel{
color:orange;
}

Vista:

Y cambiamos la referencia en la lista de la index:


"
"<?php
echo"
<ul>
<li>
<a href='reg_form.html'>Registrate</a>

</li>
<li>
<a href='#'>Ingresa</a>
</li>
</ul>
";
"?>

El formulario referencia como mtodo "action="" a un


archivo php que har la conexin a la base de datos y
guardar el nuevo dato en ella:
"
action="registro.php"

Lo que hace es enviar los datos a ese archivo, vamos


a ver el cdigo de registro.php:
"
"<?php
session_start();
//Variables de conexion a la base de datos
"$host="localhost";" // Nombre del host
"$username="root";" // usuarioMysql
"$password="";" // password Mysql
"$db_name="mibase";" // Nombre de la BD
"$tbl_name="usuarios";" // Nombre d ela tabla

"mysql_connect(""$host"," ""$username"," ""$password")//Conexin


"or die("cannot connect");" //En caso de error
"mysql_select_db(""$db_name")//seleccion de base de datos
"or die("cannot select DB");//en caso de error
//Variables que toman valor de lo enviado desde el form
"$email="$_POST['email'];
"$password="$_POST['password'];

"if ("filter_var("$email," FILTER_VALIDATE_EMAIL))" {//Filtro de validacin de mail


" $sql="select mail from usuarios where mail ='"$email'";//SEleccionamos la lista completa del cam
po usuarios
"$result="mysql_query("$sql);
"$count="mysql_num_rows("$result);
if("$count>"0){//Si ya existe un usuario con ese mail
echo("<center>
<h1><font color='red'>El usuario<br><font color='blue'> "$email<br><font color='red'>ya existe!
<br><a href='index.php'>Inicio</a>");
}else{//Si el usuario no existe
"$sql="INSERT INTO "$tbl_name (mail, password)VALUES( '"$email', '"$password')";
"$result="mysql_query("$sql);
if("$result){
" header("location:index.php");//Si todo es correcto redireccionamos a la index
}"else {
"echo "ERROR MySql";
}
// cerramos la conexin

"mysql_close();
}
}else{
echo"<center>
<h1><font color='red'>Error el mail ingresado no es v&aacute;lido<br><a href='index.php'>Inicio</a
>";
}
"?>

Bien, a esta altura si el usuario se registra esos datos


se irn almacenando en la Base de datos, y como el
campo ID es autoincrementable nunca habrn dos
usuarios con el mismo ID.

Ahora debemos hacer el formulario de login:


Para ello necesitaremos un HTML con el formulario en
si mismo y un php que contendr el cdigo para la
busqueda.
El formulario le he puesto por nombre: log_form

"
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" style=text/css href="css/estilo.css">
</head>
<body>
<header>
<h1 class="headtype">@diazespina<h1>
<img class="logoimage"src ="http://sia1.subirimagenes.net/img/2014/01/24/14012407263823065.p
ng" width="120" height="100">
<img class="logoimage"src ="http://userlogos.org/files/logos/jumpordie/taringa-iphone_01.png" widt
h="130" height="100">
</header>
<div id="formulario_registro">
<form method="post" class="signin" action="check_login.php">
<fieldset class="textbox">
<label class="username">
<span>Email</span>
<input id="username" name="email" value="" type="text" autocomplete="on" placeholder=
"Usuario" required>
</label>
<label class="password">
<span>Contrase&ntilde;a</span>
<input id="password" name="password" value="" type="password" placeholder="Contras
e&ntilde;a" required>
</label>
<input class="boton" type="submit" id="go" value="Ingresar">
<input class="boton" type="button" id="cancel"value="Cancel" onClick="window.location
.href='index.php'">
</fieldset>
</form>

</div>
</body>
</html>

Y el php que har el login check_login.php:


"
"<?php
//Variables de conexion a la base de datos
"$host="localhost";" // Nombre del host
"$username="root";" // usuarioMysql
"$password="";" // password Mysql
"$db_name="mibase";" // Nombre de la BD
"$tbl_name="usuarios";" // Nombre de la tabla
// Conexion a la base de datos en si misma
"mysql_connect(""$host"," ""$username"," ""$password")"or die("no se puede conectar a la BD");"
mysql_select_db(""$db_name")"or die("no se pudo seleccionar la BD");
// username and password sent from form
"$myusername="$_POST['email'];"
$mypassword="$_POST['password'];"
$myusername =" stripslashes("$myusername);
"$mypassword =" stripslashes("$mypassword);
"$myusername =" mysql_real_escape_string("$myusername);
"$mypassword =" mysql_real_escape_string("$mypassword);
"$sql="SELECT * FROM "$tbl_name WHERE mail='"$myusername' and password='"$mypassword'
";
"$result="mysql_query("$sql);
"$count="mysql_num_rows("$result);
if("$count=="1){
"session_register("myusername");

"session_register("mypassword");"
header("location:index.php");
}"else {
echo"<center>
<h1><font color='red'>Error, usuario o contrase&ntilde;a incorrectos<br>
<a href='index.php'>Inicio</a>";
}
"?>

Hasta aqu todo en orden, si nos logueamos, en la


index modifiqu para que nos muestre que estamos
logueados:
"
"<?php
session_Start();
"?>
<!DOCTYPE html>
<html>
<head>
<title>php_prueba</title>
<link rel="stylesheet" style=text/css href="css/estilo.css">
</head>
<body>
<header>
<h1 class="headtype">@diazespina</h1>
<img class="logoimage"src ="http://sia1.subirimagenes.net/img/2014/01/24/14012407263823065.p
ng" width="120" height="100">

<img class="logoimage"src ="http://userlogos.org/files/logos/jumpordie/taringa-iphone_01.png" widt


h="130" height="100">
</header>
<nav id ="enlaces">
"<?php
if(" !empty("$_SESSION['myusername'])" ){
" $usuario =" $_SESSION['myusername'];
" echo "<font color=gray>Logueado como:</font> <font color = blue>"$usuario</font><br>
<a href='#' ><font color = red>Logout</a></font>";
" }else{
echo"
<ul>
<li>
<a href='reg_form.html'>Registrate</a>
</li>
<li>
<a href='log_form.html'>Ingresa</a>
</li>
</ul>
";
"}
"
?>
</nav>
</body>
</html>

Capturas del proceso completo:

Para desloguear al usuario necesitamos un php


llamado salida.php:
"
"<?php
session_start();
"session_unset();
"session_destroy();
"header("location:index.php");
exit();
"?>

Entonces el script de la index queda as:

<?php
session_Start(); //inicio de sesin
?>
<!DOCTYPE html>
<html>
<head>
<title>php_prueba</title>
<link rel="stylesheet" style="text/css" href="css/estilo.css">
</head>

<body>
<header>
<h1 class="headtype">@diazespina</h1>
<img class="logoimage"src ="http://sia1.subirimagenes.net/img/2014/01/24/14012407263823065.p
ng" width="120" height="100">
<img class="logoimage"src ="http://userlogos.org/files/logos/jumpordie/taringa-iphone_01.png" widt
h="130" height="100">
</header>
<nav id ="enlaces">
<?php
if( !empty($_SESSION['myusername']) ){//verificacin de login
$usuario = $_SESSION['myusername'];
echo "<font color=gray>Logueado como:</font> <font color = blue>$usuario</font><br>
<a href='salir.php' ><font color = red>Logout</a></font>";
}else{
echo"
<ul>
<li>
<a href='reg_form.html'>Registrate</a>
</li>
<li>
<a href='log_form.html'>Ingresa</a>
</li>
</ul>
";
}

?>
</nav>
</body>
</html>

Y esta pronto!
Ejemplo completo y funcional:
http://diazespina.comli.com/php_taringa_prueba/php_e
xample_index.php

Algunas salvedades:

Conforme rele el post lo edit un poco corrigiendo


algunos errores y agregando comentarios.
1-

En el caso de que quieran hacerlo con una base de


datos en un server posta, obviamente los datos de
conexin a la base de datos los cambian por los
correspondientes (host, nombre de base nombre de
tabla, usuario y password de la base).
2-

3-Este

es un post meramente didactico, y decid


hacerlo (como casi siempre me sucede) desde que yo
necesit esta informacin y encontr mucha por ah,
incluso en taringa, pero la verdad ninguna me result
sencilla de aplicar, as que este post es el resultado de

una exhaustiva investigacin personal que con gusto


comparto con Uds.
4-Cuestiones

a nivel de seguridad informtica, no


vienen al caso en este post, he visto comentarios que
se refieren a ello, y mientras sean constructivos todos
los comentarios son bienvenidos, pero insisto, esto es
solo a nivel didctico y no pretende ser un sistema
para una base de datos del pentgono ni del area 51.
Insisto los comentarios que aportan, mas all
de lo anterior, son mas que bienvenidos
Lamentablemente me vi obligado a subir el nivel de
quien puede comentar, me dio pena porque yo quera
que cualquiera pudiera comentar, pero me decepcion
con el nivel de pelotudez de flammers y trolls, asi que
comentarios que no aporten nada y sean demasiado
pelotudos, se van...
5-

Como siempre dudas, comentarios, criticas y/o puntos bienvenidos, gracias


por pasar!!!
Anuncios

CompartirTwittear
Fuentes de Informacin - Sistema de registro y login de usuarios html-php-mysql tuto
El contenido del post es de mi autora, y/o, es un recopilacin de distintas fuentes.
Tags: java | web | PHP | script | html | sistema | registrar | MySQL | diseno | login

Dar puntos
1
2
3
4
5
6
7
8
9
+10

321PUNTOS
DENUNCIAR SEGUIR

Tambin te puede interesar...

ciencia-educacion

sistema de venta de computadoras en php mysql jquery

info

Mi sistema de gestin

40 Votos
36.808 Visitas
73 Favoritos
5 Seguidores

ciencia-educacion

Sistema De Farmacia WEB PHP MYSQL Bootstrap Jquery Ajax

hazlo-tu-mismo

20 Diseos de formularios de inicio de sesin.

hazlo-tu-mismo

[Programando] Men con PHP y MySQL

hazlo-tu-mismo

Sistema de Registro y Login Sencillo con PHP y MySQL

hazlo-tu-mismo

Como Instalar MuCore 1.0.8

noticias

La gra te llev el auto? 5 cosas que debs saber

hazlo-tu-mismo

Como hacer una pagina web de Anuncios en PHP


Comentarios Destacados

morcilla--- Hace 1 ao +6

Me voy a crear mi propia taringa con juegos de hacer y mujerzuelas muajjajajaja!

Javitronix14 Hace 1 ao +2
De hacer que, peinados a justin bieber?

XxlamerxX Hace 1 ao
podes hacerlo con Spirate

Nette123 Hace 1 ao +5
No entendi bien el post.. la policia sabia que asuntos internos le tendia una trampa?

morcilla--- Hace 1 ao
No.

diazespina Hace 1 ao
...?

maverick8_12 Hace 7 meses


jajajaja los simpson, muy buena

25 comentarios - Sistema de registro y login de usuarios html-php-mysql tuto

morcilla--- Hace 1 ao +6

Me voy a crear mi propia taringa con juegos de hacer y mujerzuelas muajjajajaja!

Javitronix14 Hace 1 ao +2
De hacer que, peinados a justin bieber?

XxlamerxX Hace 1 ao
podes hacerlo con Spirate

frowein Hace 1 ao +1
Epico!

te dejo mis 10 y a favs!

diazespina Hace 1 ao
Gracias, hay x ahi algo, incluso en taringa pero no esta muy claro...

Nette123 Hace 1 ao +5
No entendi bien el post.. la policia sabia que asuntos internos le tendia una trampa?

morcilla--- Hace 1 ao
No.

diazespina Hace 1 ao
...?

maverick8_12 Hace 7 meses


jajajaja los simpson, muy buena

Javitronix14 Hace 1 ao +1
No se una mierda de scripting, pero van +10 porque veo mucho laburo ahi.

max_d012 Hace 1 ao +1

Genial, esto me puede servir +5

diazespina Hace 1 ao +1
Esa es la idea, gracias y a las ordenes!

9110maty Hace 1 ao
pff dreamweaver los hacerte en pocos pasos , pero crea mucho codigo basura

diazespina Hace 1 ao
TRUE!

Comandante Hace 1 ao
Yo una vez hice uno y me sali bastante bien, pero nunca supe como encriptar y luego comparar
los passwords. Se usan las funciones de MD5 en general?
Cargar 2 ms

octapollo Hace 1 ao
Otra opcin interesante: http://carluys.blogspot.com.ar/2012/12/encriptar-contrasenas-y-hacerlasmas.html

Comandante Hace 1 ao +1
@octapollo muchas gracias, cuando retome los leo. Saludos!

diazespina Hace 1 ao
@octapollo No est mal, aunq el posteador de ortografa saba poco, es un dato verdaderamente
til y usable! Gracias!

diazespina Hace 1 ao
A ver, porque motivo encriptar los datos que son guardados en la base de datos... Vos te estas
confundiendo con un sistema de checkin para el administrador de una pgina, donde los pass ya
estan determinados quiz en elmismo cdigo de la pgina (en algun php)... Pero los php no son
visibles...
Cargar 2 ms

mfalem Hace 1 ao
@diazespina acordate que PhpMyAdmin es una aplicacion para administrar de manera grafica
mysql. Osea, lo que realmente importa proteger es el acceso al servicio de mysql,
independientemente de que se use o no PhpMyAdmin. Por otro lado, la clave de FTP no tiene nada
que ver. FTP es una cosa y MySQL es otra totalmente distinta.
No necesitas entrar al webhosting (me refiero al panel de administracion) ni al FTP (con algun
cliente) para poder acceder al servicio de mysql. Son cosas distintas.
Saludo

diazespina Hace 1 ao

@mfalem Tu sugerencia no es mala para nada, solo que no me lo plante ya que no tendra ni idea
como acceder a la tabla de la base de datos sin acceder al web host, adems el server en el que

est alojada este ejemplo en particular no permite acceso remoto a la base de datos...

4815162342juan Hace 1 ao

@diazespina Con un ataque de diccionario se puede acceder a muchos tipos de sistemas recuerda
que no hay sistema infalible.

Y aunque tu no puedas acceder eso no significa que nadie mas pueda.

Dr-Elemental Hace 1 ao +1
Tremendo post, maana te dejo puntos que ya los gast.

onekea Hace 1 ao +1
GRACIAS CAPO!! MUYY BUEENOOO!!!

Porque1992 Hace 1 ao +1

Siempre innovando amigo, gracias me servir, lo se

diazespina Hace 1 ao +1
Ja Ud. como siempre presente, gracias!!!
De paso caazo, aunq Ud. no lo crea esto es HTML5!
Solo basta la declaracin de doctype y usar al menos una de las nuevas etiquetas:
[code]
<!DOCTYPE html>
<Etc.>
<header>Este es el encabezado html5 </header>
</Etc.>

Microhardware Hace 1 ao +1
Vulnerable a una inyeccin sql :v
Cargar 1 ms

ChumamellChoto Hace 1 ao +3
Si es vulnerable, solo escribe en los campos de user y pass esto, 'or'1=1, si entra es vulnerable,
para evitar esto se suele usar la funcion mysql_real_escape_string, yo en lo personal uso
sentencias preparadas con PDO y me ahorro todo ese problema.

Microhardware Hace 1 ao +2
@diazespina Tambin puedes probar con sqlmap para comprobar si es vulnerable una web, hay
varios tutoriales en T!

4815162342juan Hace 1 ao
@diazespina La vulnerabilidad podra estar aqu en tu cdigo de validacin:
"$count="mysql_num_rows("$result);

if("$count=="1){

"session_register("myusername"

"session_register("mypassword"

;"

ader("location:index.php";
}"else {
Donde haces la validacin del conteo de r
stros que obtienes con if("$count=="1)
si le hubieras puesto if("$count!="0){
hubiera entrado con esto escrito en el input del usuari
o 'or'1
y en el input d

Daniel_v_ Hace 1 ao +1
Buen post!

BXTERIX Hace 1 ao
Hola me podrian ayudar en esta parte ya que me registra el mismo usuario varias veces podrian
decirme donde estoy mal se los adradeceria
<?php
session_start();
//Variables de conexion a la base de datos
$host="localhost"; // Nombre del host
$username="root"; // usuarioMysql
$password=""; // password Mysql
$db_name="proyecto";// Nombre de la BD
$tbl_name="usuarios"; // Nombre d ela tabla

mysql_connect("$host","$username", "$password"

//Conexin

or die("cannot connect"

; //En caso de error

mysql_select_db("$db_name"

//seleccion de base de datos

or die("cannot select DB"

;//en caso de error

//Variables que toman valor de lo enviado desde el for


$email=$_POST['email']
$password=$_POST['password']

if (filter_var("$email", FILTER_VALIDATE_EMAIL)) {//Filtro de validacin de mai


$sql="select mail from usuarios where mail = $email" ;//SEleccionamos la lista completa del campo
usuario
$result=mysql_query($sql)
$count=mysql_num_rows($result)
if ($count>0) {//Si ya existe un usuario con ese mai

echo("<center>

<h1><font color='red'>El usuario<br><font color='blue'> $email<br><font color='red'>ya existe!

<br><a href='index.php'>Inicio</a>"

}else{//Si el usuario no exist


$sql="INSERT INTO $tbl_name (mail, password)VALUES( '$email', '$password')"
$result=mysql_query($sql)

if('$result'){

header("location:index.php"

;//Si todo es correcto redireccionamos a la index

}else {
echo "ERRO
M
ql";
}
// cerramos la
onexin
mysql
l
e();

}else{
echo ("<center>

<h1><font color='red'>Error el mail ingresado no es v&aacute;lido<br><a

href='index.php'>Inicio</a>"

diazespina Hace 1 ao
Fijate que el campo mail se lame asi en la bd, xq el script esta tal cual... si sigues con problemas no
dudes en consultar y recuerda publicar entre etiquetas code

BXTERIX Hace 1 ao
@diazespina SI el campo mail se llama asi en la BD

diazespina Hace 1 ao
@BXTERIX El problema es que te deja ingresar dos veces un mismo usuario o que cuando
ingresas uno lo duplica, disculpa pero no me quedo clara la duda, si es lo primero, habria que ver
bien la seccion de codigo donde se busca sistematicamente en la bd que no exista ya ese
usuario...
[code]
$sql="select mail from usuarios where mail = $email" ;//SEleccionamos la lista completa del campo
usuarios
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if ($count>0) {//Si ya existe un usuario c

XxChivitOxX Hace 1 ao +1
muy bueno y bien explicado.! +10 (y)

luthier1989 Hace 1 ao +1

Genial!!!
gran post!

SantiS6 Hace 1 ao +1

Hey me va todo genial menos el checklogin

no se si me podes ayudar o algo por fa (me refiero

al index donde aparece si estas logueado o no)

kaarosu Hace 11 meses +1


Les recomiendo este otro ejemplo de Sistema de login y registro de usuarios [POOPHP]http://www.kaarosu.com/sistema-de-login-y-registro-de-usuarios-poo-php/

DEXTREX Hace 6 meses


eliminado :c

web_master_187 Hace 9 meses


muy buen tuto bro... pero tengo algunos problemas, intente hacer un registro mas amplio con mas
datos pero no me quedo jeje... me podrias ayudar?

Sork22 Hace 7 meses


que tal buenas tardes, ya tengo todo lo que hiciste, salvo que no me deja registrar ningun usuario,
manejo MAMP y SUBLINE TEXT 2 espero me puedas ayudar

diazespina Hace 6 meses


para que funcione en prueba necesits un host local, como wamp, lo tens?

Sork22 Hace 6 meses


@diazespina Si es el MAMP es igual que el WAMP

victorPC86 Hace 5 meses


hola tengo una pequea duda en la pagina de "registro.php" al final pones un "else" a mi me esta
dando fallo, por lo que me gustaria saber el por que de un "else" hay y si me podrian ayudar.
gracias
este es el fallo que me da:
( ! ) Parse error: syntax error, unexpected T_ELSE in C:wampwwwpruebasregistro.php on
line 32
<?php
session_start();
//Variables de conexion a la base de datos
$host="localhost"; // Nombre del host

$username="root"; // usuarioMysql
$password=""; // password Mysql
$db_name="mibase"; // Nombre de la BD

$tbl_name="usuarios"; // Nombre d ela tabla

mysql_connect($host,$username,$password)or die("cannot connect"

;//Conexin //En caso de

error

mysql_select_db($db_name)or die("cannot select DB"

;//seleccion de base de datos //en caso de

error//Variables que toman valor de lo enviado desde e


form
$email=$_POST['MAIL'];

$password=$_POST['password'];

if ("filter_var".$email."FILTER_VALIDATE_EMAIL"

;{//Filtro de validacin de mail

$sql="SELECT MAIL FROM".$tb


name."WHERE MAIL ='$email'
;//SEleccionamos la lista compl
ta del campo usuarios
$result=mysql_query($sql);$c
unt=mysql_num_
ows($result);
if($count>0){//Si ya existe un usuario con ese email
echo("<center>

<h1><font color='red'>El usuario<br><font color='blue'>".$email."<br><font color='red'>ya existe!

<br><a href='index.php'>Inicio</a>"

}else{//Si el usuario no existe$sql="INSERT INTO".$tbl_name."(MAIL, passwor


)VALUES('$email'.'$password')";
$result=mysql_query($sql);

if($result){

header("location:index.php"

;//Si todo es correcto redireccionamos a la index

}else{echo "ERROR
y
ql";}// cerramos la c
exin
mysql_c
o
e();}
}else{
echo"<center><h1><font color='red'>Error el mail ingresado no es valido
<br><a href='index.php'>Inici
<
a>

You might also like