Mostrando entradas con la etiqueta base de datos. Mostrar todas las entradas
Mostrando entradas con la etiqueta base de datos. Mostrar todas las entradas

lunes, 14 de octubre de 2013

Comprobar si existe usuario y contraseña en base de datos con PHP y MySQL y acceder a la web

Cuando un usuario se ha registrado ya puede acceder a la web sin problema. En el formulario de acceso donde se introduce email y contraseña se pueden dar dos casos:

1- El usuario no existe:




2- El usuario existe:


Los archivos que hay que generar son los siguientes:

1- index.php
<?php
   if(!empty($HTTP_GET_VARS['user'])){
    $user = $HTTP_GET_VARS['user'];
    if($user == 'found')
    {echo "
Uste ha accedido correctamente.
"; } if($user == 'not_found') {echo "
El usuario introducido no existe
"; } } ?>
Iniciar sesión y acceder a tu perfil.



¿Todavía no tienes una cuenta? Registrate aquí

2- home.php
<?php

 include("conect.php");
 
 $email = strtoupper($_POST['correo']);
 $pass = md5($_POST['pass']);

 $sql_chk = mysql_query("SELECT * FROM users WHERE email='$email' AND passwordmd5='$pass'",$link) or die(mysql_error());
 
 if(mysql_num_rows($sql_chk)==0)
 {
  mysql_close($link);
  header("Location: index.php?user=not_found");
 }
 else
 {
  //hacer lo que quieras...
  /*
  header("Location: index.php?user=found");
  */
 }
 
 mysql_close($link);
?>

3- Javascript para el formulario (en el head de index.php)
function validateForm(){
 if(document.form.correo.value.length == 0)
 {alert("Introduce un correo v\u00e1lido."); 
  document.form.correo.focus(); 
  return 0;
 }
 if(document.form.pass.value.length == 0)
 {alert("Introduce una contrase\u00f1a."); 
  document.form.pass.focus(); 
  return 0;
 } 
 document.form.submit();}

Si os ha gustado por favor comentadlo.
Un saludo.

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.

sábado, 12 de octubre de 2013

Conectarse a una base de datos MySQL con PHP (conect.php)

Archivo para conectarse a una base de datos MySQL.
1- conect.php
<?php 

/* MySql: Seleccionamos nuestra base de datos de MySQL. */

$servername = "tu_dominio.com";//el dominio
$username = "tu_usuario";      //tu usuario de MySQL
$password = "tu_contraseña";   //tu contraseña de MySQL
$bbdd = "nombre_bbdd";         //nombre de la base de datos

$link = mysql_connect ($servername,$username,$password); 
mysql_select_db($bbdd, $link); 

?>

Ahora que esta hecho, para llamarlo desde otro archivo PHP podemos hacerlo solo poniendo el siguiente código (estando conect.php y otro_archivo.php en la misma carpeta).
2- otro_archivo.php
<?php
include('conect.php');
/* Código php+mysql que quieras... */
?>