/ Published in: PHP
Registro de usuario en PHP con validación y activación por mail
Expand |
Embed | Plain Text
<?php //FUNCION PARA INSERTAR EL REGISTRO EN LA TABLA users_temp function insertarReg($name_, $username_, $password1_, $email_){ /*Teneis que declarar las variables $servidor, $usuario,$password y $sdb (base de datos). En mi caso para Localhost tengo lo siguiente:*/ $servidor = "localhost"; $usuario = "root"; $password = ""; $sdb = "prueba1"; $inserta= "insert into users_temp (nombre,usersTemp,password,email,fecAlta) values ('$name_','$username_','$password1_','$email_',CURDATE())"; if (!$resultado3) return false; else return true; } /*function validateName($name){ //NO cumple longitud minima if(strlen($name) < 5) return false; //SI longitud pero NO solo caracteres A-z else if(!preg_match("/^[a-zA-Z]+$/", $name)) return false; // SI longitud, SI caracteres A-z else return true; }*/ function validateName($name){ $permitidos = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_"; $caracter1KO = 0; return false; else: for ($i=0; $i<strlen($name); $i++){ $caracter1KO = 1; } } endif; return false; else: return true; endif; } function validateUsername($username){ $permitidos = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_"; $caracterKO = 0; return false; else: for ($i=0; $i<strlen($username); $i++){ $caracterKO = 1; } } endif; return false; else: return true; endif; } function validateExistUsername($username){ /*Teneis que declarar las variables $servidor, $usuario,$password y $sdb (base de datos). En mi caso para Localhost tengo lo siguiente:*/ $servidor = "localhost"; $usuario = "root"; $password = ""; $sdb = "prueba1"; $consulta= "select usersTemp from users_temp where usersTemp = '$username'"; return false; else return true; } function validatePassword1($password1){ //NO tiene minimo de 5 caracteres o mas de 12 caracteres return false; // SI longitud, NO VALIDO numeros y letras return false; // SI rellenado, SI email valido else return true; } function validatePassword2($password1, $password2){ //NO coinciden if($password1 != $password2) return false; else return true; } function validateEmail($email){ if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@")){ //miro si tiene caracter . //obtengo la terminacion del dominio //compruebo que la terminación del dominio sea correcta //compruebo que lo de antes del dominio sea correcto if ($caracter_ult != "@" && $caracter_ult != "."){ $mail_correcto = 1; } } } } } if ($mail_correcto) return true; else return false; } function validateExistMail($mail){ /*Teneis que declarar las variables $servidor, $usuario,$password y $sdb (base de datos). En mi caso para Localhost tengo lo siguiente:*/ $servidor = "localhost"; $usuario = "root"; $password = ""; $sdb = "prueba1"; $consulta2= "select id_usersTemp from users_temp where email = '$mail'"; return false; else return true; } //Comprobacion de datos //variables valores por defecto $name = ""; $nameValue = ""; $username = ""; $usernameValue = ""; $password1 = ""; $password2 = ""; $passwordValue = ""; $email1 = ""; $emailValue = ""; $existusername = ""; $existEmail = ""; //Validacion de datos enviados if(!validateName($_POST['name'])) $name = "error"; if(!validateUsername($_POST['username'])) $username = "error"; if(!validateExistUsername($_POST['username'])) $existusername = "error"; if(!validatePassword1($_POST['password1'])) $password1 = "error"; if(!validatePassword2($_POST['password1'], $_POST['password2'])) $password2 = "error"; if(!validateEmail($_POST['email'])) $email1 = "error"; if(!validateExistMail($_POST['email'])) $existEmail = "error"; //Guardamos valores para que no tenga que reescribirlos $nameValue = $_POST['name']; $usernameValue = $_POST['username']; $emailValue = $_POST['email']; $passwordValue = $_POST['password2']; //Comprobamos si todo ha ido bien if($name != "error" && $username != "error" && $password1 != "error" && $password2 != "error" && $email1 != "error"){ if($existusername == "error"){ $existeU = 1; } if($existEmail == "error"){ $existeE = 1; } if (!$existeU && !$existeE){ $status = 1; } } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Formulario de registro utilizando PHP y Javascript (jQuery) para validar | COLORATE</title> <link rel="stylesheet" href="main.css" type="text/css" media="screen" /> </head> <body> <div class="wrapper"> <div class="section"> <h1>Formulario de Registro</h1> <form id="form1" action="formulario_2.php" method="post"> <input tabindex="1" name="name" id="name" type="text" class="text <?php echo $name ?>" value="<?php echo $nameValue ?>" /> <label for="username">Nombre de usuario <?php if ($username == "error" || $existusername == "error"): if ($existusername == "error"): else: echo "<span style=color:red>Caracteres de A-z, mínimo 5 caracteres (No números)"; endif; else: echo "<span style=color:green>Caracteres de A-z, mínimo 5 caracteres (No números)</span>"; endif; ?> </label> <input tabindex="3" name="password1" id="password1" type="password" class="text <?php echo $password1 ?>" value="" /> <input tabindex="4" name="password2" id="password2" type="password" class="text <?php echo $password2 ?>" value="" /> <label for="email">Email <span> <?php if ($email1 == "error" || $existEmail == "error"): if ($existEmail == "error"): else: echo "<span style=color:red>Escribe un email válido por favor"; endif; else: echo "<span style=color:green>Escribe un email válido por favor</span>"; endif; ?> </label> <div> <input tabindex="6" name="send" id="send" type="submit" class="submit" value="Enviar formulario" /> </div> </form> <?php else: ?> <?php if(insertarReg($nameValue, $usernameValue, $passwordValue, $emailValue)):?> <h1>Registro introducido correctamente en la base de datos</h1> <div class="respuesta_insert"> <p>Gracias por registrarte en COLORATE.</p> <p>Te hemos mandado un mail a <span style="color:green"><?php echo $emailValue; ?></span> para que confirmes el alta. Si no lo recibes comprueba la bandeja de correo no deseado</p> <p>Gracias!</p> <p>Administrador Colorate</p> <p>Tutorial "Registro de Usuarios en PHP y MySql con validación y activación por mail".</p> </div> <?php else: ?> <?php if ($respuesta == 1) ?> <h1 style="font-color: red">No se ha podido insertar el registro en nuestra base de datos</h1> <!--<h1>¡Formulario enviado con éxito!</h1>--> <?php endif; ?> <?php endif; ?> </div> </div> </body> </html>
Comments
Subscribe to comments
You need to login to post a comment.

Hola, que tal buen dia, muy buena ayuda tal lo que estaba yo byscando. pero necesito un favorsote, necesito saber como activar el email, despues de que me llega el correo de activacion le doy activar y me manda a una pagina que me da error necesito ayuda, gracias..