La tarea es crear y diseñar un formulario de registro en el que, si el usuario ingresa los detalles, los datos del formulario HTML se insertan en nuestra base de datos del servidor MySQL.
Acercarse:
- La primera tarea es que tenemos que crear nuestra base de datos del servidor MySQL y una tabla de acuerdo con nuestros requisitos.
- Conectamos nuestra base de datos del servidor MySQL utilizando la función PHP mysqli_connect() que toma cuatro argumentos, es decir, nuestro «nombre de servidor», «nombre de usuario», «contraseña» y «base de datos».
Nota: Aquí no se usa ningún código CSS ya que estamos usando Bootstrap en el siguiente código PHP. Puede aplicar CSS y estilo en su página web según los requisitos de su propia aplicación.
Código PHP para crear una conexión a la base de datos: El primer y más básico paso es crear una conexión a la base de datos. El nombre del archivo PHP utilizado aquí es «dbconnect.php» y el nombre de la base de datos utilizado es «geeksforgeeks» .
<?php $servername = "localhost"; $username = "root"; $password = ""; $database = "geeksforgeeks"; // Create a connection $conn = mysqli_connect($servername, $username, $password, $database); // Code written below is a step taken // to check that our Database is // connected properly or not. If our // Database is properly connected we // can remove this part from the code // or we can simply make it a comment // for future reference. if($conn) { echo "success"; } else { die("Error". mysqli_connect_error()); } ?>
La tabla de » usuarios » se crea utilizando la herramienta MySQL phpMyAdmin como se muestra a continuación.
Código PHP para diseñar el formulario de registro: ahora que nos hemos conectado con éxito a nuestra base de datos, es hora de crear el formulario de registro para los usuarios. El siguiente código PHP muestra el formulario de registro. El nombre de la tabla de la base de datos MySql utilizada es «usuarios» .
<?php $showAlert = false; $showError = false; $exists=false; if($_SERVER["REQUEST_METHOD"] == "POST") { // Include file which makes the // Database Connection. include 'dbconnect.php'; $username = $_POST["username"]; $password = $_POST["password"]; $cpassword = $_POST["cpassword"]; $sql = "Select * from users where username='$username'"; $result = mysqli_query($conn, $sql); $num = mysqli_num_rows($result); // This sql query is use to check if // the username is already present // or not in our Database if($num == 0) { if(($password == $cpassword) && $exists==false) { $hash = password_hash($password, PASSWORD_DEFAULT); // Password Hashing is used here. $sql = "INSERT INTO `users` ( `username`, `password`, `date`) VALUES ('$username', '$hash', current_timestamp())"; $result = mysqli_query($conn, $sql); if ($result) { $showAlert = true; } } else { $showError = "Passwords do not match"; } }// end if if($num>0) { $exists="Username not available"; } }//end if ?> <!doctype html> <html lang="en"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content= "width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- Bootstrap CSS --> <link rel="stylesheet" href= "https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity= "sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous"> </head> <body> <?php if($showAlert) { echo ' <div class="alert alert-success alert-dismissible fade show" role="alert"> <strong>Success!</strong> Your account is now created and you can login. <button type="button" class="close" data-dismiss="alert" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> '; } if($showError) { echo ' <div class="alert alert-danger alert-dismissible fade show" role="alert"> <strong>Error!</strong> '. $showError.' <button type="button" class="close" data-dismiss="alert aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> '; } if($exists) { echo ' <div class="alert alert-danger alert-dismissible fade show" role="alert"> <strong>Error!</strong> '. $exists.' <button type="button" class="close" data-dismiss="alert" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> '; } ?> <div class="container my-4 "> <h1 class="text-center">Signup Here</h1> <form action="signup.php" method="post"> <div class="form-group"> <label for="username">Username</label> <input type="text" class="form-control" id="username" name="username" aria-describedby="emailHelp"> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" class="form-control" id="password" name="password"> </div> <div class="form-group"> <label for="cpassword">Confirm Password</label> <input type="password" class="form-control" id="cpassword" name="cpassword"> <small id="emailHelp" class="form-text text-muted"> Make sure to type the same password </small> </div> <button type="submit" class="btn btn-primary"> SignUp </button> </form> </div> <!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> <script src=" https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity=" sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"> </script> <script src=" https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity= "sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"> </script> <script src=" https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity= "sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"> </script> </body> </html>
Producción:
- Formulario de registro:
- Después de un inicio de sesión de usuario exitoso:
- Después de un inicio de sesión de usuario no válido: