En este foro serán respondidas todas tus dudas sobre webs.
 
ÍndiceCalendarioFAQBuscarGrupos de UsuariosRegistrarseConectarse
El foro a cerrado los esperamos en el nuevo foro.
Accede al nuevo foroClic

Comparte | 
 

 Sistema de registro de usuarios

Ir abajo 
AutorMensaje
Jose
Admin
Admin
avatar

Cantidad de envíos : 288

MensajeTema: Sistema de registro de usuarios   Sáb Sep 12, 2009 1:59 pm

Hacer un sistema de registro de usuarios es basicamente muy facil teniendo en cuenta que se utiliza Php y una base de datos (SQL).

Espero que les sirva

<---(Aclaracion: El script es muy basico )--->

REQUERIMIENTOS: Host que soporte php y nos de base de datos (sql)

-----COMENCEMOS-----
1.- Para comenzar es basico acceder a nuestra base de datos y crear las tablas nesesarias para que el Script se ejecute correctamente.

create table usuarios (
id smallint(5) unsigned not null auto_increment,
fecha int(10) unsigned not null,
nick varchar(20) not null,
contrasena varchar(32) not null,
email varchar(40) not null,
pais varchar(20) not null,
edad tinyint(2) unsigned not null,
sexo enum('0','1') not null,
descripcion tinytext not null,
web varchar(100) not null,
ip varchar(15) not null,
primary key (id),
key (nick,contrasena)
)

2.- Una vez creadas las tablas , procedemos a crear el archivo que llamaremos "config.php" , el cual constara de la llamada a nuestra base de datos, password, usuario y demas ...


<?
unset($config) ;
$config[1] = 'imysql04 ' ; # Puede ser "localhost" aunque también una URL o una IP
$config[2] = 'i5291455' ; # Usuario de la base de datos
$config[3] = 't1ke2ice44ibca37' ; # Contraseña de la base de datos
$config[4] = 'i5291455 ' ; # Nombre de la base de datos

$conectar = @mysql_connect($config[1],$config[2],$config[3]) or exit('Datos de conexión incorrectos.') ;
mysql_select_db($config[4],$conectar) or exit('No existe la base de datos.') ;
?>





3.- Ya teniendo nuestras tablas creadas y nuestro archivo "config.php" , procedemos a crear el formulario para registrar a los usuarios, para ello creamos el siguiente archivo llamado "registrar.php"


<?
if($_POST[enviar]) {
require 'config.php' ;
function quitar($texto) {
$texto = trim($texto) ;
$texto = htmlspecialchars($texto) ;
$texto = str_replace(chr(160),'',$texto) ; # Elimina espacios que no pueden ser borrados por trim()
return $texto ;
}
$nick = quitar($_POST[nick]) ;
$email = quitar($_POST[email]) ;
$con = mysql_query("select count(id) from usuarios where nick='$nick' or email='$email'") ;
if(mysql_result($con,0,0)) {
echo 'El nick ya existe en la base de datos o ya está registrado el email. Haz click <a href="javascript:history.back(-1)">aquí</a> para regresar.' ;
}
else {
$fecha = time() ;
$contrasena = md5(md5(quitar($_POST[contrasena]))) ;
$sexo = quitar($_POST[sexo]) ;
mysql_query("insert into usuarios (fecha,nick,contrasena,email,sexo,ip) values ('$fecha','$nick','$contrasena','$email','$sexo','$_SERVER[REMOTE_ADDR]')") ;
echo 'Has sido registrad@ satisfactoriamente. Haz click <a href="index.php">aquí</a> para regresar a la página principal e iniciar sesión' ;
}
}
else {
?>
<script>
function revisar() {
if(formulario.nick.value.length < 3) {
alert('El nick debe contener por lo mínimo 3 caractéres.') ;
return false ;
}
if(formulario.contrasena.value.length < 6) {
alert('La contraseña debe contener por lo mínimo 6 caractéres.') ;
return false ;
}
if(formulario.contrasena.value != formulario.c_contrasena.value) {
alert('Las contraseñas no son correctas.') ;
return false ;
}
if(!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(formulario.email.value)) {
alert('Debes poner un email válido.') ;
return false ;
}
}
</script>
<form name="formulario" method="post" action="<?=$_SERVER[PHP_SELF]?>" onsubmit="return revisar()">
<b>Nick:</b><br>
<input type="text" name="nick" maxlength="20"><br>
<b>Contraseña:</b><br>
<input type="password" name="contrasena" maxlength="10"><br>
<b>Confirmar contraseña:</b><br>
<input type="password" name="c_contrasena" maxlength="10"><br>
<b>Email:</b><br>
<input type="text" name="email" maxlength="40"><br>
<b>Sexo:</b><br>
<select name="sexo">
<option value="0">Masculino
<option value="1">Femenino
</select><br><br>
<input type="submit" name="enviar" value="Registrar">
</form>
</div>
<?
}
?>



4.- Bien, vamos muy bien , ya que tenemos nuestras tablas creadas, nuestro archivo "config.php" y "registrar.php", procederemos a crear nuestro archivo que llamaremos "entrar.php" ...


<?
require 'config.php' ;
if($_POST[enviar]) {
function quitar($texto) {
$texto = trim($texto) ;
$texto = htmlspecialchars($texto) ;
# --> Elimina espacios que no pueden ser borrados por trim()
$texto = str_replace(chr(160),'',$texto) ;
return $texto ;
}
$nick = quitar($_POST[nick]) ;
$contrasena = md5(md5(quitar($_POST[contrasena]))) ;
$con = mysql_query("select id,contrasena from usuarios where nick='$nick'") ;
$datos = mysql_fetch_assoc($con) ;
if(mysql_num_rows($con)) {
if($datos[contrasena] == $contrasena) {
setcookie('uid',$datos[id],time()+604800) ;
setcookie('unick',$nick,time()+604800) ;
setcookie('ucontrasena',$contrasena,time()+604800) ;
header("location: $_SERVER[HTTP_REFERER]") ;
}
else {
echo 'La contraseña es incorrecta. Haz click <a href="javascript:history.back(-1)">aquí</a> para regresar.' ;
}
}
else {
echo 'El nick no existe. Haz click <a href="javascript:history.back(-1)">aquí</a> para regresar.' ;
}
}
?>



5.- Yeahhh , hasta el momento tendremos que tener creadas las tablas en la base de datos y los siguientes archivos:
-> config.php
-> registrar.php
-> entrar.php

Ahora toca el turno de insertar el codigo que nos servira para que los usuarios inicien sesion , por lo general este codigo se inserta en la pagina inicial de la web (esto ya es tu desicion) ...


<?
if(!$_COOKIE[uid]) {
?>
<form method="post" action="entrar.php">
<b>Nick:</b><br>
<input type="text" name="nick" maxlength="20"><br>
<b>Contraseña:</b><br>
<input type="password" name="contrasena" maxlength="20"><br><br>
<input type="submit" name="enviar" value="Iniciar Sesión">
</form>
<p><a href="registrar.php"> -->Registrate aqui <-- </a>
<?
}
else {
?>
Bienvenid@ <b><?=$_COOKIE[unick]?></b><br><br>
<br>
<a href="salir.php">Salir</a>
<?
}
?>





5.-Paciencia .. Ahora creamos el archivo que se encargara de proteger las paginas que nosotros deseemos... (a los usuarios que no esten registrados se les emitira el siguiente mensaje:"Esta sección es sólo para usuari@s registrad@s . Regresa a la pagina principal y registrate" .... para hacer eso crearemos otro archivo con el siguiente codigo ... al cual guardaremos como "login.php"


<?
require 'config.php' ;
$con = mysql_query("select count(id) from usuarios where id='$_COOKIE[uid]' and nick='$_COOKIE[unick]' and contrasena='$_COOKIE[ucontrasena]'") ;
if(!mysql_result($con,0,0)) {
exit('<p><b>Esta sección es sólo para usuari@s registrad@s.</b><p><a href="javascript:history.back(-1)">» Regresar</a>') ;
}
?>




6.- Ya casi ..... Procedemos a crear el archivo que servira para que los usuarios registrados cierren sesion y redireccionarlos a la pagina principal del sitio , para eso insertamos el siguiente codigo y lo guardamos como "salir.php"


<?
setcookie('uid') ;
setcookie('unick') ;
setcookie('ucontrasena') ;
header('location: index.php') ;
?>



7.- Por ultimo !!! Solo nos falta proteger las paginas .. OJO, en al paso numero 5 , nosotros creamos el ARCHIVO con el codigo que impedira a los visitantes acceder a las paginas que nosotros deseemos ... Ahora falta invocar ese archivo en cada pagina protegida ...
para invocar el archivo , insertaremos al principio de cada pagina que vayamos a proteger ...el siguiente codigo

<? require 'login.php' ?>
Volver arriba Ir abajo
Ver perfil de usuario http://foroweb.forosactivos.net/index.htm
michan
Moderadores
Moderadores
avatar

Cantidad de envíos : 227
Edad : 24
Localización : Mallorca

MensajeTema: Re: Sistema de registro de usuarios   Sáb Sep 12, 2009 6:51 pm

Es muy util en una web, yo tal vez lo implante en mi web!!
Saludos, Michan
Volver arriba Ir abajo
Ver perfil de usuario http://michan.freetzi.com
 
Sistema de registro de usuarios
Volver arriba 
Página 1 de 1.
 Temas similares
-
» Nueva partida de misiles antibuque “Harpoon” y de sistemas de Mando y Control Adelantado de Defensa Aérea para Chile
» Sistema antiaéreo Pantsir-S.
» Ún posible sistema de pesaje...
» Sistema Alterador De Gravedad Portátil Dédalo II
» DUDAS CON EL WIPE ! ! !

Permisos de este foro:No puedes responder a temas en este foro.
Crea tu web :: Dudas :: Tutoriales-
Cambiar a: