Server IP : 184.154.167.98 / Your IP : 3.23.101.241 Web Server : Apache System : Linux pink.dnsnetservice.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 User : puertode ( 1767) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/puertode/public_html/oficios/ |
Upload File : |
<?php require('includes/config.php'); //Si existe la sesion redirigir a la pagina de miembros if( $user->is_logged_in() ){ header('Location: memberpage.php'); exit(); } //Verifica si el formulario ha sido enviado correctamente if(isset($_POST['submit'])){ if (!isset($_POST['username'])) $error[] = "Por favor rellene el usuario"; if (!isset($_POST['nombre'])) $error[] = "Por favor rellene el nombre"; if (!isset($_POST['ap_pat'])) $error[] = "Por favor rellene el Apellido Paterno"; if (!isset($_POST['ap_mat'])) $error[] = "Por favor rellene el Apellido Materno"; if (!isset($_POST['email'])) $error[] = "Por favor rellene el Email"; if (!isset($_POST['password'])) $error[] = "Por favor rellene todos los campos"; $nombre = $_POST['nombre']; if(strlen($_POST['nombre']) < 3){ $error[] = 'El Nombre es demasiado corto.'; } $ap_pat = $_POST['ap_pat']; if(strlen($_POST['ap_pat']) < 3){ $error[] = 'El Apellido Paterno es demasiado corto.'; } $ap_mat = $_POST['ap_mat']; if(strlen($_POST['ap_mat']) < 3){ $error[] = 'El Apellido Materno es demasiado corto.'; } $username = $_POST['username']; //very basic validation if(!$user->isValidUsername($username)){ $error[] = 'Los nombres de usuario deben tener al menos 3 caracteres alfanuméricos'; } else { $stmt = $db->prepare('SELECT username FROM members WHERE username = :username'); $stmt->execute(array(':username' => $username)); $row = $stmt->fetch(PDO::FETCH_ASSOC); if(!empty($row['username'])){ $error[] = 'El nombre de usuario proporcionado ya está en uso.'; } } if(strlen($_POST['password']) < 3){ $error[] = 'La contraseña es demasiado corta.'; } if(strlen($_POST['passwordConfirm']) < 3){ $error[] = 'Confirmar contraseña es demasiado corta.'; } if($_POST['password'] != $_POST['passwordConfirm']){ $error[] = 'Las contraseñas no coinciden.'; } //Validamos el correo electronico $email = htmlspecialchars_decode($_POST['email'], ENT_QUOTES); if(!filter_var($email, FILTER_VALIDATE_EMAIL)){ $error[] = 'Por favor, introduce una dirección de correo electrónico válida'; } else { $stmt = $db->prepare('SELECT email FROM members WHERE email = :email'); $stmt->execute(array(':email' => $email)); $row = $stmt->fetch(PDO::FETCH_ASSOC); if(!empty($row['email'])){ $error[] = 'El correo electronico ya esta registrado'; } } //Comprobamos que no exista error if(!isset($error)){ //hash the password $hashedpassword = $user->password_hash($_POST['password'], PASSWORD_BCRYPT); //Creamos el codigo de activacion $activasion = md5(uniqid(rand(),true)); try { //Insertar la informacion ingresada en el formulario de registro $stmt = $db->prepare('INSERT INTO members (username, nombre, ap_pat, ap_mat, password,email,active) VALUES (:username, :nombre, :ap_pat, :ap_mat, :password, :email, :active)'); $stmt->execute(array( ':username' => $username, ':nombre' => $nombre, ':ap_pat' => $ap_pat, ':ap_mat' => $ap_mat, ':password' => $hashedpassword, ':email' => $email, ':active' => $activasion )); $id = $db->lastInsertId('memberID'); //send email $to = $_POST['email']; $subject = "Confirmacion de registro a RDC 2.0"; $body = "<p>Gracias por registrarte en RDC 2.0 Winter Challenge.</p> <p>Para activar su cuenta, haga clic en este enlace: <a href='".DIR."activate.php?x=$id&y=$activasion'>".DIR."activate.php?x=$id&y=$activasion</a></p> <p>Una vez activado, ingresa para que registres tu Robot. <br> Saludos!</p>"; $mail = new Mail(); $mail->setFrom(SITEEMAIL); $mail->addAddress($to); $mail->subject($subject); $mail->body($body); $mail->send(); //redireccionamos al index header('Location: index.php?action=joined'); exit; //else catch the exception and show the error. } catch(PDOException $e) { $error[] = $e->getMessage(); } } } //definimos el titulo de la pagina $title = 'Oficios | API Tampico'; //include header tema require('layout/header_.php'); ?> <div class="container"> <div class="row"> <div class="col-xs-12 col-sm-8 col-md-6 col-sm-offset-2 col-md-offset-3"> <form role="form" method="post" action="" autocomplete="off"> <h2>Por favor regístrate</h2> <p>¿Ya eres usuario? <a href='login.php'>Login</a></p> <hr> <?php //check for any errors if(isset($error)){ foreach($error as $error){ echo '<p class="bg-danger">'.$error.'</p>'; } } //if action is joined show sucess if(isset($_GET['action']) && $_GET['action'] == 'joined'){ echo "<h4 class='bg-success'>Registro exitoso, por favor revise su correo electrónico para activar su cuenta.</h4>"; } ?> <div class="form-group"> <input required type="text" name="username" id="username" class="form-control input-lg" placeholder="Usuario" value="<?php if(isset($error)){ echo htmlspecialchars($_POST['username'], ENT_QUOTES); } ?>" tabindex="1"> </div> <div class="form-group"> <input required type="text" name="nombre" id="nombre" class="form-control input-lg" placeholder="Nombre (s)" value="<?php if(isset($error)){ echo htmlspecialchars($_POST['nombre'], ENT_QUOTES); } ?>" tabindex="2"> </div> <div class="form-group"> <input required type="text" name="ap_pat" id="ap_pat" class="form-control input-lg" placeholder="Apellido Paterno" value="<?php if(isset($error)){ echo htmlspecialchars($_POST['ap_pat'], ENT_QUOTES); } ?>" tabindex="3"> </div> <div class="form-group"> <input required type="text" name="ap_mat" id="ap_mat" class="form-control input-lg" placeholder="Apellido Materno" value="<?php if(isset($error)){ echo htmlspecialchars($_POST['ap_mat'], ENT_QUOTES); } ?>" tabindex="4"> </div> <div class="form-group"> <input required type="email" name="email" id="email" class="form-control input-lg" placeholder="Email Address" value="<?php if(isset($error)){ echo htmlspecialchars($_POST['email'], ENT_QUOTES); } ?>" tabindex="5"> </div> <div class="row"> <div class="col-xs-6 col-sm-6 col-md-6"> <div class="form-group"> <input required type="password" name="password" id="password" class="form-control input-lg" placeholder="Password" tabindex="6"> </div> </div> <div class="col-xs-6 col-sm-6 col-md-6"> <div class="form-group"> <input required type="password" name="passwordConfirm" id="passwordConfirm" class="form-control input-lg" placeholder="Confirmar Password" tabindex="7"> </div> </div> </div> <div class="row"> <div class="col-xs-12 col-sm-8 col-md-6 col-sm-offset-2 col-md-offset-3"><input type="submit" name="submit" value="Registrarme" class="btn btn-primary btn-block btn-lg" tabindex="8"></div> </div> <!-- <div class="form-group"> <label for="cat">Selecciona Categoria:</label> <select class="select-css" name="categoria" id="pais> <?php $conexion = mysqli_connect("localhost", "rdcpunt1_test", "Fortinet16@", "rdcpunt1_test"); $acentos = $conexion ->query("SET NAMES 'UTF8'"); $sql = "select id_categoria,nombre_categoria from categorias"; $consulta = mysqli_query($conexion, $sql); // Lectura de la consulta en el cuadro desplegado del formulario while ($fila2 = mysqli_fetch_array($consulta)) { echo "<option value=\"$fila2[id_categoria]\">$fila2[nombre_categoria]</option>"; } ?> </select> </div> --> <!-- <div class="form-group"> <label for="pa">Selecciona País:</label> <select class="select-css" name="paises" id="pais> <?php $conexion = mysqli_connect("localhost", "puertode_registro", "Ryogoku21@", "puertode_registro"); $acentos = $conexion ->query("SET NAMES 'UTF8'"); $sql = "select id_pais,nombre_pais from lista_paises"; $consulta = mysqli_query($conexion, $sql); // Lectura de la consulta en el cuadro desplegado del formulario while ($fila2 = mysqli_fetch_array($consulta)) { echo "<option value=\"$fila2[id_pais]\">$fila2[nombre_pais]</option>"; } ?> </select> </div>--> </div> <div class="row"> <!-- <div class="col-xs-12 col-sm-8 col-md-6 col-sm-offset-2 col-md-offset-3"><input type="submit" name="submit" value="Registrarme" class="btn btn-primary btn-block btn-lg" tabindex="8"></div> </div>--> </form> </div> </div> </div> <?php //include header template require('layout/footer.php'); ?>