Ver Mensaje Individual
  #14 (permalink)  
Antiguo 24/04/2009, 23:24
Avatar de rompeguesos
rompeguesos
 
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
De acuerdo Respuesta: registro de usuarios

Hola, tras mi googleo y un poquito de trabajo e añadido al codigo que cuando se registre el usuario la contraseña se codifique con sha1, que se inserte la ip del que se registra, que se inserte la fecha y hora y que se tenga que escribir minimo 4 caracteres en el campo contraseña. Me gustaria que vierais el codigo que a qedado y que me digais si esta bien todo o hay algo raro por hay aunque de momento funciona perfecto.

Código PHP:
<?php
include("config.php");
// Preguntaremos si se han enviado ya las variables necesarias 
if (isset($_POST["email"])) { 
$correo $_POST["email"];
$password $_POST["password"]; 
$cpassword $_POST["cpassword"]; 

//recoger direccion ip
$ip $_SERVER['REMOTE_ADDR'];

// Hay campos en blanco 
if($password==NULL|$cpassword==NULL|$correo==NULL) { 
echo 
"un campo está vacio."
}else{ 

//Validar direccion de email
if (!preg_match(
'/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',
$correo)) {
echo 
"Email no válido.";
}else{ 

//Minimo de caracteres en campo contraseña
if (strlen($password)<4)
{
echo 
"Mínimo 4 carácteres en la contraseña";
  
// no tiene mas de 4 caracteres
}else{

// ¿Coinciden las contraseñas? 
if($password!=$cpassword) { 
echo 
"Las contraseñas no coinciden"
}else{ 

//encriptar contraseña
$password sha1("CoriaWeb");

// Comprobamos si la cuenta de correo ya existe 
$checkemail mysql_query("SELECT email FROM usu WHERE email='$correo'"); 
$email_exist mysql_num_rows($checkemail); 

if (
$email_exist>0) { 
echo 
"La cuenta de correo esta ya en uso"
}else{

//Todo parece correcto procedemos con la inserccion 
$query "INSERT INTO usu (password, email, ip, fecha) VALUES('$password','$correo','$ip', NOW())"
mysql_query($query) or die(mysql_error()); 
echo 
"El usuario $correo ha sido registrado de manera satisfactoria."



}  
}
}
?>