Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/02/2012, 13:17
Camatagua123
 
Fecha de Ingreso: agosto-2011
Mensajes: 87
Antigüedad: 12 años, 8 meses
Puntos: 3
Como editar mi codigo de registro de usuarios

Hola amigos

Tengo un sistema de registro para mi web pero tengo 2 problemas

1) En la casilla donde el usuario coloca su Email puede colocar cualquier cosa....

Ejemplo el usuario podria poner así: xxxx cuando deberia colocar [email protected]

Lo que quisiera es obligar al usuario a escribir su correo Electronico de la Forma Correcta y ademas proibirle algunos signos no validos en la casilla de Correo Electronico

un invento que hice pero que no me gusta fué la de crear 3 Variables

$email1 donde el usuario colocara su correo

$emasils Esta la Cree para darle opciones del final de su correo ejemplo @hotmail.com, @yahoo.com entre otros. pero seria limitar a lo usuarios con distintos compañias de correos

$email para juntar lo que coloca el usuario con las opciones que le doy

quisiera utilizar una sola variable llamada $email pero con las restricciones ya dichas


2) La segunda es que creé un if de verificacion para que la contraseña contenga 6 o mas digitos pero me funciona solo con Numeros si coloca 6 o mas letras presenta error si coloco seis numeros Funciona pero quisiera que la contraseña llevara numeros y letras

Para no enrredarlos mucho le dejo el codigo

registro.php

Código PHP:
<?php

// verificamos si se han enviado ya las variables necesarias.
if (isset($_POST["username"])) {
       
$username mysql_real_escape_string($_POST["username"]);
       
$password mysql_real_escape_string($_POST["password"]);
       
$password2 mysql_real_escape_string($_POST["password2"]);
       
$email1 mysql_real_escape_string($_POST["email1"]);//correo del usuario sin el @hotmail, @yahoo.com, etc
       
$emails mysql_real_escape_string($_POST["emails"]); //Esta la tuve que crear para presentarles opciones como @hotmail.com, @yahoo.com,etc pero seria muy limitado
       
$email =$email1.$emails;//Aquí sumo el email que coloca el usuario con las opciones que les doy
     
$pregunta mysql_real_escape_string($_POST["pregunta"]);
     
$respuesta mysql_real_escape_string($_POST["respuesta"]);
   
// Hay campos en blanco
   
if($username==NULL|$password==NULL|$password2==NULL|$email==NULL|$pregunta==NULL|$respuesta==NULL) {
      echo 
"<p>Debes rellenar todos los Campos</p>\n";
      
formRegistro();
   }else{
      
      if (
$password<6) {echo "<p>La Contraseña debe contener almenos 6 Digitos</p>\n";} // este es el If que cree para que la contraseña no contenga menos de 6 digitos pero como ya dije funciona solo con numeros y es lo que yo no quiero
// ¿Coinciden las contrasenas?
      
if($password!=$password2) {
         echo 
"<p>Las contrasenas no coinciden</p>\n";
         
formRegistro();
      }else{
         
// Comprobamos si el nombre de usuario o la cuenta de correo ya existian
         
$checkuser mysql_query("SELECT usuario FROM usuarios WHERE usuario='$username'");
         
$username_exist mysql_num_rows($checkuser);
         
$checkemail mysql_query("SELECT email FROM usuarios WHERE email='$email'");
         
$email_exist mysql_num_rows($checkemail);
         if (
$email_exist>0|$username_exist>0) {
            echo 
"<p>El nombre de usuario o la cuenta de correo estan ya en uso</p>\n";
            
formRegistro();
         }else{
            
$query 'INSERT INTO usuarios (usuario, password, email, pregunta, respuesta, fecha)
            VALUES (\''
.$username.'\',\''.$password.'\',\''.$email.'\',\''.$pregunta.'\',\''.$respuesta.'\',\''.date("Y-m-d").'\')';
            
mysql_query($query) or die(mysql_error());
            echo 
'<p>El usuario <span class="usuarioreco">'.$username.'</span> ha sido registrado de manera satisfactoria.</p>';
                        echo 
'<SCRIPT LANGUAGE="javascript">
         location.href = "index.php";
         </SCRIPT>'
;
            echo 
'<p>Ahora puede entrar ingresando su usuario y su password</p>';}}}}
            
?>
Encontre varios codigo php para obligar al usuario a colocar su correo debidamente pero no se como editar mi codigo

Esta Funcion es una de las que encontre

Código PHP:
function valida_email($correo) {
        if (
preg_match('/^[A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+\.[A-Za-z]{2,4}$/'$correo)) return true;
        else return 
false;
        } 
pero como ya dije no sabria como editarlo en registro.php

Gracias