domingo, 13 de octubre de 2013

Registrar un usuario en una base de datos

En este caso vamos a aprender a meter un usuario que se registra en una base de datos de MySQL. Al final puede haber dos resultados: el usuario ya existe o el usuario no existe y se añade a la base de datos. Para hacer eso comprobaremos el email que introduce. Para ello necesitamos crear una página de bienvenida (index) y darle una opción de registrar usuario:


Luego nos mandará a:



Veamos el código el archivo donde se registra el usuario :

1- register.php
<?php
 if(!empty($HTTP_GET_VARS['new_user'])){
  $user = $HTTP_GET_VARS['new_user'];
  if($user == 'inserted'){
   echo "
Registrado con éxito. Comprueba los datos en tu correo electrónico.
"; } if($user == 'rejected'){ echo "
No puedes registrarte. Este email ya está registrado.
"; } } ?>
Rellena los datos para registrarte.

Una vez el usuario introduce los datos, la información se manda a otro archivo que comprobara la información y en caso de  que el usuario no exista lo añadira a la base de datos y en caso de que exista devolverá un mensaje. Si el usuario se ha añadido con éxito recibirá un email en el correo con la información que ha introducido:

2- newuser.php
<?php
 /* MySql: Este script inserta un nuevo usuario en la tabla 'users' de la base de datos. */
 include("conect.php");
 
 $nombre = $_POST['nombre'];
 $apellidos = $_POST['apellidos'];
 $email = $_POST['correo'];
 $contra = $_POST['pass'];
 $contra1 = md5($contra);
 $genre = $_POST['sex'];
 
 $day = $_POST['dia_cumple']; 
 if($day < 10){ $day = "0".$day;}
 $month = $_POST['mes_cumple'];
 if($month < 10){ $month = "0".$month;}
 $year = $_POST['anyo_cumple'];
 
 $birthday = $year."-".$month."-".$day;
 
 $sql_chk = mysql_query("SELECT * FROM users WHERE email='$email'",$link) or die(mysql_error());

 if(mysql_num_rows($sql_chk)==0){
  mysql_query("INSERT INTO users (id, name, lastname, email, password, passwordmd5, birthday, genre) VALUES ('','$nombre','$apellidos','$email','$contra','$contra1','$birthday','$genre')",$link);
  mysql_close($link);
  if($genre == 'male'){ $genre = 'hombre';} else { $genre = 'mujer';}
  $cabeceras = "From: no-reply@dominio.com\r\nContent-type: text/html\r\n";
  $mensaje = "Le damos la bienvenida por habese registrado en dominio. 
Este mensaje se ha enviado a: ".$nombre." ".$apellidos.". 
Su email es: ".$email.". 
Su password es: ".$contra.". 
Su fecha de nacimiento es: ".$birthday.". 
Su genero es: ".$genre.". 

 Muchas gracias por unirse a nuestra red. 
Un saludo. 

 El equipo de dominio.
"; mail($email,"dominio: Email de usuario.",$mensaje,$cabeceras); header("Location: register.php?new_user=inserted"); } else{ mysql_close($link); header("Location: register.php?new_user=rejected"); } ?>

El script para validar el formulario antes de enviarlo debe estar en el "head" del html en el archivo register.php.
function validateFormReg(){
 if(document.form.nombre.value.length == 0)
  {alert("Introduce un nombre.");
   document.form.nombre.focus();
   return 0;
  }
 if(document.form.apellidos.value.length == 0)
  {alert("Introduce los apellidos.");
   document.form.apellidos.focus();
   return 0;
  }
 if(document.form.correo.value.length == 0)
  {alert("Introduce un correo v\u00e1lido."); 
   document.form.correo.focus();
   return 0;
  }
 if(document.form.correo2.value.length == 0)
  {alert("Repite el correo."); 
   document.form.correo2.focus();
   return 0;
  }
 if(document.form.pass.value.length == 0)
  {alert("Introduce una contrase\u00f1a.");
   document.form.pass.focus();
   return 0;
  }
 if(document.form.pass2.value.length == 0)
  {alert("Repite la contrase\u00f1a.");
   document.form.pass2.focus();
   return 0;
  }
 if(document.form.correo.value != document.form.correo2.value)
  {alert("Introduce correos iguales.");
   document.form.correo.value = "";
   document.form.correo2.value = "";
   document.form.correo.focus();
   return 0;
  }
 if(document.form.pass.value != document.form.pass2.value)
  {alert("Introduce contrase\u00f1as iguales.");
   document.form.pass.value = "";
   document.form.pass2.value = "";
   document.form.pass.focus();
   return 0;
  }
 var meses = document.form.mes_cumple.value; 
 var dias = document.form.dia_cumple.value; 
 var anyos = document.form.anyo_cumple.value;
 if(anyos == -1 || meses == -1 || dias == -1)
  {alert("Introduce una fecha correcta.");
   document.form.anyo_cumple.value = -1;
   document.form.mes_cumple.value = -1;
   document.form.dia_cumple.value = -1;
   return 0;
  }
 if((meses == 2 || meses == 4 || meses ==  6 || meses ==  9 || meses ==  11) && dias == 31)
  {alert("Introduce una fecha correcta.");
   document.form.anyo_cumple.value = -1;
   document.form.mes_cumple.value = -1;
   document.form.dia_cumple.value = -1;
   return 0;
  }
 if(document.form.sex.value == 0)
  {alert("Introduce un sexo.");
   return 0;
  }
 document.form.submit();
}

Una vez mas espero que os haya servido de mucho esta entrada de registrar un usuario en una página web con HTML, CSS, PHP y JAVASCRIPT.
Un saludo.

No hay comentarios:

Publicar un comentario