Foros del Web » Programando para Internet » PHP »

Como editar mi codigo de registro de usuarios

Estas en el tema de Como editar mi codigo de registro de usuarios en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 12/02/2012, 13:17
 
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
  #2 (permalink)  
Antiguo 12/02/2012, 23:55
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: Como editar mi codigo de registro de usuarios

Puedes utilizar javascript.

En jquery es mas bonito...

Cuando el usuario precione una tecla sobre un input (con id='email') puedes verificar si la tecla precionada es un simbolos que aceptes y la escribes en el input

un poco más preciso.

-> Obtienes valor del input
-> Validas si la tecla precionada lo admites como caracteres valido
-> Concatenas esta tecla al valor del input.
-> escribes esta "concatenación" en el input.

Listo

Código Javascript:
Ver original
  1. $document.ready(
  2.  
  3.      function(){
  4.  
  5.               $("email").keypress( function(e){
  6.                              var valorInput = $("email").val();
  7.                              alert("Este es el valor actual del input: "+valorInput);
  8.  
  9.                              var concatenoValorEnElInput = valorInput +"CONCATENO ALGO";
  10.  
  11.                              alert("Este es el valor del input mas algo concatenado: "+concatenoValorEnElInput);
  12.                              
  13.                              ///////////////ETC... bueno te ayudo un poco mas
  14.                             alert("Se preciono una tecla");
  15.                             alert("Se preciono esta tecla "+String.fromCharCode(e.which));
  16.  
  17.                });
  18.     }
  19. );


Y sobre validar si el email es valido, ese metodo que has dado utiliza una expresion regular. La mejor manera de validar un email es con una expresión regular.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.

Etiquetas: registro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:42.