Autor Tema: Registro de Usuarios [Simple]  (Leído 31963 veces)

Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Registro de Usuarios [Simple]
« en: 01 de Agosto de 2007, 21:44:43 pm »
Después de recibir muchas proposiciones por msn de varios usuarios que querian que hiciera un codigo libre de un registro de usuarios, no me dispongo a hacer un gran codigo libre de registro de usuarios, pero si e hecho uno de bastante simple que servira de tutorial y seguro que lo entendereis todos y sino exponeis las dudas.

index.php:

<?
// Registro de usuarios by G2K-> cristiantorrijosreus@hotmail.com


if($_COOKIE['usuario'] and $_COOKIE['contrasena']){ #Comprovamos si existen las cookies, vamos que si estan o no logeados

echo"Hola ".$_COOKIE['usuario']."<br>"#Todo lo que se ponga aquí hasta el else se mostrara solamente si esta logeado
echo'<a href="salir.php">Salir</a>';

} else {

#Si no esta conectado le mostramos el logeador

echo'<form method="POST" action="entrador.php">
	
<p>Usuario:<br>
	
<input type="text" name="usuario" size="20"><br>
	
Contraseña:<br>
	
<input type="password" name="contrasena" size="20"><br>
	
<input type="submit" value="OK" name="OK"></p>
</form><br>
<a href="registrador.php">¡Registrate!</a>'
;

}
?>


entrador.php:

<?
// Registro de usuarios by G2K-> cristiantorrijosreus@hotmail.com


include("conectar.php"); #incluimos el archivo de conexión a la base de datos


	
#Seleccionamos en la tabla usuarios de la base de datos la fila del nombre de usuario que tiene el nick igual al introducido en el formulario de conexión
	

	
$query mysql_query("SELECT * FROM usuarios WHERE usuario='$_POST[usuario]'");  
	
$datos mysql_fetch_array($query);

	
	
	
	

	
	
	
	
#Comprovamos si la contraseña introducida es igual a la que se introdujo cuando se registro

	
	
	
	
if(
$datos['contrasena'] == md5($_POST['contrasena'])){
	
	
	
	

	
	
	
	
	

	
	
	
	
	
# Si es asi creamos las cookies
	
	
	
	

	
	
	
	
	
setcookie("usuario",$datos['usuario'],time()+3600);
	
	
	
	
	
setcookie("contrasena",$datos['contrasena'],time()+3600);
	
	
	
	
	

	
	
	
	
	
header("location: index.php"); #Por ultimo lo volvemos a mandar al index.php
	
	
	
	
	

} else {

#Si no son correctos los datos le avisamos de que vuelva a intentarlo
echo "<b>Hay un error</b>: No a sido posible conectarte, vuelve a intentarlo ;)";
echo 
"<a href=\"javascript:history.back(1)\"><b>Volver atrás</b></a>";

}
?>


salir.php:

<?php
// Registro de usuarios by G2K-> cristiantorrijosreus@hotmail.com


if($_COOKIE['usuario'] and $_COOKIE['contrasena']){ #Comprovamos si existen las cookies, vamos que si estan o no logeados

	
#Si estaban conectados eliminamos las cookies

	
setcookie("usuario");
	
setcookie("contrasena");
	

	
	
header("location: index.php");

} else {

#Si no es asi les decimos que no se les pueden desconectar porque no estan conectados, obio no? xD
echo "<b>Hay un error</b>: Usted no estaba conectado, por lo tanto no puede ser desconectado<br>";
echo 
"<a href=\"javascript:history.back(1)\"><b>Volver atrás</b></a>";

}
?>


registrador.php:

<?
// Registro de usuarios by G2K-> cristiantorrijosreus@hotmail.com


include("conectar.php"); #incluimos el archivo de conexión a la base de datos

if(isset($_POST['OK'])){ #Comprovamos si se a pulsado el boton OK
#Si es asi comprovamos que sean correctas las contras
	

	
if(
$_POST['contrasena1'] == $_POST['contrasena2']){ #Comprovamos que las contraseñas sean las 2 iguales
	
	

	
	
#Buscamos haver si hay algun mail o nombre de usuario igual al introducido
	
	
$consultamos 'SELECT * FROM usuarios WHERE usuario="' $_POST['usuario'] . '" or correo="' $_POST['correo'] . '"';
	
	
$comprovacion mysql_query($consultamos);
	
	

	
	
	
#Buscamos haver si hay algun usuario o correo ya igual al seleccionado
	
	
	
if(
mysql_num_rows($comprovacion)==0){
	
	
	

	
	
	
	
#Buscaremos si hay errores y si los hay creamos la variable con el contenido adecuado
	
	
	
	
} else {
	
	
	
$error "El nombre de usuario y/o el correo electronico ya a sido registrado";
	
	
	
}
	
	
	

	
	
} else {
	
	
$error "Las contraseñas que nos a proporcionado no coinciden";
	
	
}
	
	

	
#Comprovamos haver si hay alguna variable que contenga un error
	
if(
$error){
	

	
#Si es asi lo mostramos
	
echo
"$error";

	
} else {

	
#Si no hau errores registramos al usuario
	
$registrar "INSERT INTO usuarios (usuario,contrasena,correo) VALUES ('".$_POST['usuario']."','".md5($_POST['contrasena1'])."','".$_POST['correo']."')";
	
if(
mysql_query($registrar)){ #Comprovamos si se ha realizado el registro
	
	
echo
"Has sido registrado, ¡¡¡Enhorabuena!!!"#Si se a registrado le decimos que a sido registrado
	
	
	
} else {
	
	
echo
"No se te a podido registrar, ¡¡¡sorry!!!"#Si no a sido registrado le decimos que no a sido registrado
	
	
	
}
	
}
} else {

#Si no a pulsado el botón OK le mostramos el registrador
echo'<form method="POST" action="registrador.php">
	
<p>Usuario: <input type="text" name="usuario" size="20"><br>
	
Contraseña: <input type="password" name="contrasena1" size="20"><br>
	
Repetir Contraseña: <input type="password" name="contrasena2" size="20"><br>
	
Correo: <input type="text" name="correo" size="20"><br>
	
<input type="submit" value="OK" name="OK"><input type="reset" value="Borrar" name="Borrar"></p>
</form>'
;
}
?>


el conectar.php por si alguien no sabe como conectar:

<?php
// Registro de usuarios by G2K-> cristiantorrijosreus@hotmail.com


$conectar mysql_connect'localhost''usuariodb''contradb') or die('No se puede conectar al servidor.' );
mysql_select_db('nombre base de datos'$conectar) or die('No se puede conectar con la base de datos.');

?>


y el sql:

Código: [Seleccionar]
CREATE TABLE `usuarios` (
  `id` smallint(255) NOT NULL auto_increment,
  `usuario` varchar(30) collate latin1_general_ci NOT NULL,
  `contrasena` varchar(50) collate latin1_general_ci NOT NULL,
  `correo` varchar(100) collate latin1_general_ci NOT NULL,
  UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;

Recordar que no esta bien acreditarse los codigos libres que se publican, solo pido eso, que no se acrediten los codigos, recordar que os estareis engañando a vosotros mismos ;)

Saludos

PD: Link de descarga
Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011


Comunidad PHPeros

Registro de Usuarios [Simple]
« en: 01 de Agosto de 2007, 21:44:43 pm »

Desconectado mOrK

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 1.503
  • Karma: 43
  • :)
    • Ver Perfil
    • Sígueme en Twitter!
Re: Registro de Usuarios [Simple]
« Respuesta #1 en: 01 de Agosto de 2007, 22:15:34 pm »
Buen trabajo, yo me lo leo y aprendo algo xD

Si hago algo parecido, lo posteare ;) (no copiaré, tranquilo xD)

KARMA+

Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Re: Registro de Usuarios [Simple]
« Respuesta #2 en: 01 de Agosto de 2007, 22:31:02 pm »
xDDDD
Muchas gracias por el karma ;)
Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011


Desconectado FeDe

  • PHPero Avanzado
  • ****
  • Mensajes: 448
  • Karma: 35
  • Sexo: Masculino
  • BaDyDj -> ¡Mi Stylo, Mi ViDa!
    • Ver Perfil
Re: Registro de Usuarios [Simple]
« Respuesta #3 en: 01 de Agosto de 2007, 22:44:39 pm »
Buenas,

Está bien el script, es sencillito puede enseñar a mucha gente.

Buen aporte, otro karma + :)

Saludos, viciadillo! ajjaja
Sin Firma me haces una? :P

Desconectado Balita

  • PHPer@ Fijo
  • ***
  • Mensajes: 173
  • Karma: 2
  • Sexo: Masculino
  • Dale tiempo al tiempo...
    • Ver Perfil
Re: Registro de Usuarios [Simple]
« Respuesta #4 en: 01 de Agosto de 2007, 23:14:12 pm »
muy buen aporte G2K esto me va a venir bien para aprender mas de php. + karma xD.
Saludos...
<?php  Balita[PHPeros User];  ?>

Desconectado XmC

  • PHPer@
  • **
  • Mensajes: 84
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
Re: Registro de Usuarios [Simple]
« Respuesta #5 en: 01 de Agosto de 2007, 23:21:43 pm »
:o muy bueno cristian, es sencillito y muy util.
Karma +

Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Re: Registro de Usuarios [Simple]
« Respuesta #6 en: 01 de Agosto de 2007, 23:42:39 pm »
jejeje me alegra de que os sirva y sobretodo que a los que están empezando con el PHP, puedan aprender de una manera sencilla como es tener todo explicado paso a paso.

Un Saludo.

PD: Próximamente más tutoriales ;)
« Última modificación: 02 de Agosto de 2007, 00:24:21 am por G2K »
Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011


Desconectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 166
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re: Registro de Usuarios [Simple]
« Respuesta #7 en: 02 de Agosto de 2007, 01:07:49 am »
G2K muy buena idea!
Creo que mucho van a aplicarlo a sus webs :P

Karmita Plus :P
Por favor, leete las Normas


Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Re: Registro de Usuarios [Simple]
« Respuesta #8 en: 02 de Agosto de 2007, 01:16:28 am »
jejejej thank's ;) :P
Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011


Desconectado Balita

  • PHPer@ Fijo
  • ***
  • Mensajes: 173
  • Karma: 2
  • Sexo: Masculino
  • Dale tiempo al tiempo...
    • Ver Perfil
Re: Registro de Usuarios [Simple]
« Respuesta #9 en: 02 de Agosto de 2007, 11:56:45 am »
o.0 mas tutoriales sigue asi y tendras mas karma xDjo e por cada tutorial te dan mucho karma xD.
Saludos...
<?php  Balita[PHPeros User];  ?>

Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Re: Registro de Usuarios [Simple]
« Respuesta #10 en: 02 de Agosto de 2007, 13:51:20 pm »
Balita, no lo hago por el Karma... que consigo con el Karma? me paga naveda por tener más karma? :P no jejeje yo los tutos los hago porque ya que naveda esta bastante ocupadillo pues le quito faena, porque me entretengo y así ayudo a la gente principiante ;)

Pero siempre le anima a uno volver a hacer otro tuto si le dan karma ya que es señal de lo que estas haciendo, o trabajando para la comunidad no es trabajo en vano.

Un Saludo ;)
« Última modificación: 02 de Agosto de 2007, 13:53:21 pm por G2K »
Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011


Desconectado Shago

  • PHPero Avanzado
  • ****
  • Mensajes: 290
  • Karma: 3
  • :D
    • Ver Perfil
    • NINGUNO
Re: Registro de Usuarios [Simple]
« Respuesta #11 en: 03 de Agosto de 2007, 17:22:43 pm »
Oh.. Muchas gracias buscaba esto desde hace un buen tiempo no soy muyh bueno en php xD pero de verdad gracias
Yo Estuve A los 10.000 Mensajes del Foro

Desconectado Shago

  • PHPero Avanzado
  • ****
  • Mensajes: 290
  • Karma: 3
  • :D
    • Ver Perfil
    • NINGUNO
Re: Registro de Usuarios [Simple]
« Respuesta #12 en: 04 de Agosto de 2007, 00:50:26 am »
G2K esta muy bueno pero tengo una duda lo del sql como le llamaria a ese archivo?
Yo Estuve A los 10.000 Mensajes del Foro

Desconectado FeDe

  • PHPero Avanzado
  • ****
  • Mensajes: 448
  • Karma: 35
  • Sexo: Masculino
  • BaDyDj -> ¡Mi Stylo, Mi ViDa!
    • Ver Perfil
Re: Registro de Usuarios [Simple]
« Respuesta #13 en: 04 de Agosto de 2007, 02:56:16 am »
Buenas,

Eso se sube al phpmyadmin, en la parte SQL, aunque podrías hacer un instalador...

include("conectar.php");
$sql = "EL create table...";
mysql_query($sql);

y así de simple...

Saludos :P
Sin Firma me haces una? :P

Desconectado Shago

  • PHPero Avanzado
  • ****
  • Mensajes: 290
  • Karma: 3
  • :D
    • Ver Perfil
    • NINGUNO
Re: Registro de Usuarios [Simple]
« Respuesta #14 en: 04 de Agosto de 2007, 16:31:04 pm »
muchas gracias :P te daria mas karma pero no tengo 200 mensajes :P
Yo Estuve A los 10.000 Mensajes del Foro