| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- <?php
- // Define variables and initialize with empty values
- $username = $password = "";
- $username_err = $password_err = $login_err = "";
-
- // Processing form data when form is submitted
- if($_SERVER["REQUEST_METHOD"] == "POST"){
-
- // Check if username is empty
- if(empty(trim($_POST["username"]))){
- $username_err = "Please enter username.";
- } else{
- $username = trim($_POST["username"]);
- }
-
- // Check if password is empty
- if(empty(trim($_POST["password"]))){
- $password_err = "Please enter your password.";
- } else{
- $password = trim($_POST["password"]);
- }
-
- // Validate credentials
- if(empty($username_err) && empty($password_err)){
- // Prepare a select statement
- $sql = "SELECT id, username, passwd FROM users WHERE username = ? and active = 1";
-
- if($stmt = mysqli_prepare($link, $sql)){
- // Bind variables to the prepared statement as parameters
- mysqli_stmt_bind_param($stmt, "s", $param_username);
-
- // Set parameters
- $param_username = $username;
-
- // Attempt to execute the prepared statement
- if(mysqli_stmt_execute($stmt)){
- // Store result
- mysqli_stmt_store_result($stmt);
-
- // Check if username exists, if yes then verify password
- if(mysqli_stmt_num_rows($stmt) == 1){
- // Bind result variables
- mysqli_stmt_bind_result($stmt, $id, $username, $hashed_password);
- if(mysqli_stmt_fetch($stmt)){
- if(password_verify($password, $hashed_password)){
- // Password is correct, so start a new session
- session_start();
-
- // Store data in session variables
- $_SESSION["loggedin"] = true;
- $_SESSION["id"] = $id;
- $_SESSION["username"] = $username;
-
- // Redirect user to welcome page
- header("Refresh:0");
- } else{
- // Password is not valid, display a generic error message
- $login_err = "Invalid username or password.";
- }
- }
- } else{
- // Username doesn't exist, display a generic error message
- $login_err = "Invalid username or password.";
- }
- } else{
- echo "Oops! Something went wrong. Please try again later.";
- }
- // Close statement
- mysqli_stmt_close($stmt);
- }
- }
-
- // Close connection
- mysqli_close($link);
- }
- ?>
-
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Connexion</title>
- <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
- <style>
- body{ font: 14px sans-serif; }
- .wrapper{ width: 350px; padding: 20px; }
- </style>
- </head>
- <body>
- <div class="wrapper">
- <img src="images/logofull.png" alt="Umbrella Logo" style="width: 100%;">
- <p>Entrer votre nom d'utilisateur et mot de passe pour entrer.</p>
- <?php
- if(!empty($login_err)){
- echo '<div class="alert alert-danger">' . $login_err . '</div>';
- }
- ?>
- <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
- <div class="form-group">
- <label>Nom d'utilisateur</label>
- <input type="text" name="username" class="form-control <?php echo (!empty($username_err)) ? 'is-invalid' : ''; ?>" value="<?php echo $username; ?>">
- <span class="invalid-feedback"><?php echo $username_err; ?></span>
- </div>
- <div class="form-group">
- <label>Mot de passe</label>
- <input type="password" name="password" class="form-control <?php echo (!empty($password_err)) ? 'is-invalid' : ''; ?>">
- <span class="invalid-feedback"><?php echo $password_err; ?></span>
- </div>
- <div class="form-group">
- <input type="submit" class="btn btn-primary" value="Connexion">
- </div>
- </form>
- </div>
- </body>
- </html>
|