Professional Documents
Culture Documents
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
</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;
}
"
<!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;
}
<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ña</span>
<input id="password" name="password" value="" type="password" placeholder="Contras
eñ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:
</li>
<li>
<a href='#'>Ingresa</a>
</li>
</ul>
";
"?>
"mysql_close();
}
}else{
echo"<center>
<h1><font color='red'>Error el mail ingresado no es válido<br><a href='index.php'>Inicio</a
>";
}
"?>
"
<!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ña</span>
<input id="password" name="password" value="" type="password" placeholder="Contras
eñ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>
"session_register("mypassword");"
header("location:index.php");
}"else {
echo"<center>
<h1><font color='red'>Error, usuario o contraseña incorrectos<br>
<a href='index.php'>Inicio</a>";
}
"?>
<?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:
3-Este
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
ciencia-educacion
info
Mi sistema de gestin
40 Votos
36.808 Visitas
73 Favoritos
5 Seguidores
ciencia-educacion
hazlo-tu-mismo
hazlo-tu-mismo
hazlo-tu-mismo
hazlo-tu-mismo
noticias
hazlo-tu-mismo
morcilla--- Hace 1 ao +6
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
...?
morcilla--- Hace 1 ao +6
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!
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
...?
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
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.
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
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"
mysql_select_db("$db_name"
echo("<center>
<br><a href='index.php'>Inicio</a>"
if('$result'){
header("location:index.php"
}else {
echo "ERRO
M
ql";
}
// cerramos la
onexin
mysql
l
e();
}else{
echo ("<center>
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
$username="root"; // usuarioMysql
$password=""; // password Mysql
$db_name="mibase"; // Nombre de la BD
error
$password=$_POST['password'];
if ("filter_var".$email."FILTER_VALIDATE_EMAIL"
<br><a href='index.php'>Inicio</a>"
if($result){
header("location:index.php"
}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>