Autor Tema: Registro de Usuarios con MySQL  (Leído 4103 veces)

Desconectado devesa

  • PHPerit@
  • *
  • Mensajes: 31
  • Karma: 4
    • Ver Perfil
Registro de Usuarios con MySQL
« en: 03 de Junio de 2007, 23:01:22 pm »
Buenas, he estado fusionando bastantes tutoriales que he encontrado por este Foro y me ha salido este Sistema de Usuarios con MySQL. Yo no me otorgo ningun credito ya que la mayoria del codigo ha sido creado por los usuarios de este Foro, yo solo lo he ordenado.

Aqui van los codigos, podeis postear modificaciones  ;D

users.php (registro)

<html>

<
head>
<
link href="http://redsconexion.com/estiloz.css" rel="stylesheet" type="text/css" />
</
head>

<
body bgcolor="#FFFFFF">
<
center>
  <
font color="#000000" size="1" face="Verdana"><b>
  <?
include(&
#39;conectar.php&#39;);

$cons mysql_query("SELECT * FROM usuarios WHERE rol=&#39;0&#39; ");
$numsss mysql_num_rows($cons);
if(
$numsss >= "400") {
echo&
#39;
<font color="red" size="2">ERRORHay más de 400 Usuarios  y este script está predefinido a unicamente 400 Usuarios.<br>
 
No se agregaran más a no ser que los administradores lo agreguen desde el panel.<br>
 
Perdone las molestias.</font>
&
#39;;
} else {

if(
$_POST[enviar]) {

$nick $_POST[n];

$email $_POST[e];

$pass md5($_POST[p]);

$fecha date("d.m.Y , H:i:s");

$rol "0";

if(
$email == "" or $nick == "" or $pass == "") {

  echo
"ERROR: Necesita Insetar todos los campos. <a href=&#39;users.php&#39;>Volver atrás</a>";
exit;


}


$con mysql_query("SELECT count(id) FROM usuarios WHERE nick=&#39;$nick&#39; OR email=&#39;$email&#39;") ;


if(
mysql_result($con,0,0)) {


echo &
#39;<font face=tahoma size=2 color=#0000000>Tu nick/email ya ha sido registrado en nuestra base de datos. Haz click <a href="javascript:history.back()">aquí</a> para regresar.</font>&#39; ;
	

exit;
	


}

	

else {

mysql_query("INSERT INTO usuarios (nick,rol,pass,email) VALUES (&#39;$nick&#39;,&#39;$rol&#39;,&#39;$pass&#39;,&#39;$email&#39;)");

echo &
#39;<font face=tahoma size=2 color=#0000000>Se ha registrado perfectamente porfavor logueese en la Web con la password(contraseña) que ha puesto.  <br>  <a target="iframe" href="http://www.diabolic-jokers.com">Volver a la Web    </a>
</font>&#39; ;
}
} else {
  
?> </b> </font>
</center>
  <form action=&#39;users.php&#39; method=&#39;POST&#39;>
    <p align="left">
    <font color="#000000" size="1" face="Verdana"><b> Nick:<br>
    <input type="text" class="j" name="n">
    <br>
    Contraseña:<br>
    <input type="password" class="j" name="p">
    <br>
    E-mail:<br>
    <input type="text" class="j" name="e">
    <br>
    <br>
    <br>
    <input type="submit" name="enviar" class="j" value="Registrarme">
    </b> </font>
    <br>
    &nbsp;</p>
  </form>
<center>
  <font color="#000000" size="1" face="Verdana"><b><?
}
}
?> </b></font>
</center>
</body>
</html>



login.php

<?php
include("conectar.php");
    
session_start();  
    
// Conectar a la base de datos
    
mysql_connect ($host$user$pass);
    
mysql_select_db($dbname) or die(&#39;Cannot select database&#39;);

    
if ($_POST[&#39;username&#39;]) {
    //Comprobacion del envio del nombre de usuario y password
    
$usuario$_POST[&#39;username&#39;];
    
$passmd5("$_POST[password]");
    if (
$pass==NULL) {
    echo 
"La password no fue enviada";
    }else{
    
$query mysql_query("SELECT nick,pass  FROM usuarios WHERE nick  = &#39;$usuario&#39;") or die(mysql_error());
    
$data mysql_fetch_array($query);
    if(
$data[&#39;pass&#39;] != $pass) {
    
echo "Login incorrecto, vuelve a probarlo";
    }else{
    
$query mysql_query("SELECT nick,pass FROM usuarios WHERE nick = &#39;$usuario&#39;") or die(mysql_error());
    
$row mysql_fetch_array($query);
    
$_SESSION["s_usuario"] = $row[&#39;usuario&#39;];
    
echo "Has sido logueado correctamente. Bienvenido ".$usuario.".";

    }
    }
    }
    
?>

<style type="text/css">
<!--
.style1 {color: #FFFFFF}
-->
</style>
 

	


<form action=&#39;login.php&#39; method=&#39;POST&#39;>
  <table bordercolor="#FFFFFF" style=&#39;border:1px solid #FFFFFF;&#39;>
    <tr>
      <td align=&#39;right&#39;> <span class="style1">
	
	
<font color="#000000" face="Verdana" size="2">Nombre de usuario:</font></span> <font color="#FFFFFF">
        <input type=&#39;text&#39; size=&#39;15&#39; maxlength=&#39;25&#39; name=&#39;username&#39;></font> </td>
    </tr>
    <tr>
      <td align=&#39;right&#39;> <span class="style1"><font face="Verdana" size="2">
	
	
<font color="#000000">Contraseña</font></font></span>:
        <font color="#FFFFFF">
        <input type=&#39;password&#39; size=&#39;15&#39; maxlength=&#39;25&#39; name=&#39;password&#39;></font> </td>
    </tr>
    <tr>
      <td align=&#39;center&#39;> <font color="#FFFFFF">
        <input type="submit" value="Login"></font> </td>
    </tr>
    <tr>
      <td align=&#39;center&#39; height="22">&nbsp; </td>
    </tr>
  </table>
  <p></p>
</form>


Ahora faltaria el conectar.php, que lo teneis que crear vosotros. ;)

Solo esto...

Hasta pronto!!

Comunidad PHPeros

Registro de Usuarios con MySQL
« en: 03 de Junio de 2007, 23:01:22 pm »

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 con MySQL
« Respuesta #1 en: 04 de Junio de 2007, 00:01:48 am »
Bueno el conectar ya esta en el login.php xD pero bueno...
No esta mal... pero bueno yo te animo a que con eso practiques y te crees uno como estoy haciendo yo, que tambien estoy asta creandome un foro propio... empezando desde 0 y ir avanzando...

¡¡Animos!!

Saludos
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: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re: Registro de Usuarios con MySQL
« Respuesta #2 en: 04 de Junio de 2007, 00:10:14 am »
Comentando un poco tus palabras G2K me gustaría decirte unas cosillas :P

G2K, como idea, crear un foro esta muy bien pero no te recomiendo que uses uno creado por ti en una web con muchos usuarios porque no dará la talla. Creo que deberías utilizar uno mas trabajado, no digo que el tuyo no vaya a ser bueno o tenga fallos sino que no tendrá todas las caracteristicas que un foro como phpBB, SMF, vBulletin, etc... puede proporcionar.

Independientemente, me parece una idea estupenda crear un foro desde 0 porque trabajas un montón de aspectos del PHP.
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 con MySQL
« Respuesta #3 en: 04 de Junio de 2007, 00:21:32 am »
Comentando un poco tus palabras G2K me gustaría decirte unas cosillas :P

G2K, como idea, crear un foro esta muy bien pero no te recomiendo que uses uno creado por ti en una web con muchos usuarios porque no dará la talla. Creo que deberías utilizar uno mas trabajado, no digo que el tuyo no vaya a ser bueno o tenga fallos sino que no tendrá todas las caracteristicas que un foro como phpBB, SMF, vBulletin, etc... puede proporcionar.

Independientemente, me parece una idea estupenda crear un foro desde 0 porque trabajas un montón de aspectos del PHP.
Si tienes razón... pero si en mi foro tampoco es que se utilice mucho... si la gente entra unicamente para preguntar o comentar un par de cosas... no me hace falta mucha cosa más... le metere 4 tonterias para que quede wapo... cosas que no tienen los que antes  has mencionado y me gustaria que tubieran  y se como hacerlo y bueno... pero muchas gracias por el consejo ;)
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 danielo

  • PHPerit@
  • *
  • Mensajes: 49
  • Karma: 1
    • Ver Perfil
Re: Registro de Usuarios con MySQL
« Respuesta #4 en: 04 de Junio de 2007, 00:31:19 am »
qué hace esto??

Código: [Seleccionar]
or die(mysql_error()

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 con MySQL
« Respuesta #5 en: 04 de Junio de 2007, 00:37:43 am »
qué hace esto??

Código: [Seleccionar]
or die(mysql_error()
Pues no estoy muy seguro pero eso se emplea para cuando a habido un error en la conexión y la cosa deberia ser asi:

or die(&#39;No se a podido conectar&#39;);
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 danielo

  • PHPerit@
  • *
  • Mensajes: 49
  • Karma: 1
    • Ver Perfil
Re: Registro de Usuarios con MySQL
« Respuesta #6 en: 04 de Junio de 2007, 00:39:10 am »
aha... bueno ya lo probaré. Gracias!

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 con MySQL
« Respuesta #7 en: 04 de Junio de 2007, 00:42:33 am »
aha... bueno ya lo probaré. Gracias!
No hay de que ;)
Te dejo aquí un ejemplo con la conexión a una base de datos:
mysql_connect (localhostusuariopass);
mysql_select_db(base_de_datos) or die(&#39;No se puede conectar&#39;);

Este codigo intenta conectar a la base de datos y si tiene algun error o no puede muestra el contenido de or die(&#39;AQUÍ EL MENSAJE A MOSTRAR&#39;);
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 Txapu

  • PHPerit@
  • *
  • Mensajes: 27
  • Karma: 6
  • Sexo: Masculino
    • Ver Perfil
Re: Registro de Usuarios con MySQL
« Respuesta #8 en: 04 de Junio de 2007, 00:46:50 am »
qué hace esto??

Código: [Seleccionar]
or die(mysql_error()

Si hay un error por parte de mysql al ejecutar la sentencia sql, muestra el codigo y la descripcion del error:
or die(mysql_error());

Si quieres que te salga sólo un mensaje generico (en vez del msg procedente de mysql), puedes poner algo como:
or die('Error al ejecutar la sentencia');

Desconectado danielo

  • PHPerit@
  • *
  • Mensajes: 49
  • Karma: 1
    • Ver Perfil
Re: Registro de Usuarios con MySQL
« Respuesta #9 en: 04 de Junio de 2007, 00:59:48 am »
ok ok, gracias, ya imaginaba que serviría para algo así. Yo hago servir algo parecido. Tengo un fichero PHP con las funciones para conectarse a la base de datos y para seleccionar la que quiero utilizar. Si se produce un error, ya sea en el conect (mysql_connect) o al seleccionarla (mysql_select_db), tengo puesto que me salga un echo con el mensaje de error correspondiente.
Y a este fichero lo llamo cuando hace falta con un "include" y de momento parece que funciona bien.

Desconectado pcmac

  • PHPerit@
  • *
  • Mensajes: 3
  • Karma: 0
    • Ver Perfil
Re: Registro de Usuarios con MySQL
« Respuesta #10 en: 05 de Julio de 2007, 11:58:21 am »
Hola:
gracias por este aporte de codigo fuente para el registro de usuarios.
es sencillo, facil de entender y muy practico para uso perosnal.
creo que debrias haber incluido tambien el codigo de creacion de la tabla, por ejmplo algo asi:

CREATE TABLE `usuario` (
  `id` int(4) NOT NULL auto_increment,
  `nick` varchar(40) NOT NULL default '',
  `email` varchar(30) NOT NULL default '',
  `pass` varchar(40) NOT NULL default '',
  `fecha` varchar(20) NOT NULL default '',
  `rol` int(4) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=0 ;


si alguien ve que esta correcto, por favor  que lo comente o corrija en caso de que exista algun erros, ok?

saludos a todos los foreros y esperemos que todos resolvamos nuestras dudas.

Desconectado mOrK

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 1.503
  • Karma: 43
  • :)
    • Ver Perfil
    • Sígueme en Twitter!
Re: Registro de Usuarios con MySQL
« Respuesta #11 en: 05 de Julio de 2007, 12:35:22 pm »
if($email == "" or $nick == "" or $pass == "") {
=
if(empty($email) or empty($nick) or empty(pass)) {
Es bueno saber esa función...

Lo que no entiendo por nombras a $_POST[n] la variable $nick... cuando puedes y creo que es mejor poner directamente $_POST['n'], aunque sea largo...

Saludos

Desconectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re: Registro de Usuarios con MySQL
« Respuesta #12 en: 05 de Julio de 2007, 12:39:33 pm »
Lo mismo digo... siempre estais renombrando las variables, algo totalmente innecesario y que muestra la poca experiencia en la programación.
Por favor, leete las Normas


Desconectado Dj-Jorge[in the mix]mixer

  • PHPerit@
  • *
  • Mensajes: 2
  • Karma: 0
    • Ver Perfil
Re: Registro de Usuarios con MySQL
« Respuesta #13 en: 19 de Julio de 2007, 06:08:02 am »
Esto casi es una copia del script.
pero esta bueno...


saludos!

Desconectado Wold

  • PHPer@ Fijo
  • ***
  • Mensajes: 139
  • Karma: 2
  • Sexo: Masculino
    • Ver Perfil
Re: Registro de Usuarios con MySQL
« Respuesta #14 en: 19 de Julio de 2007, 12:29:42 pm »
qué hace esto??

Código: [Seleccionar]
or die(mysql_error()
Pues no estoy muy seguro pero eso se emplea para cuando a habido un error en la conexión y la cosa deberia ser asi:

or die(&#39;No se a podido conectar&#39;);

Esto muestra el error que ahi en la sql. por ejemplo si falta una tabla xD, esta bien el sistema de usuarios pero es muy sencillito
:)