0

i can't connect to my site, when i put this code in login.php page i obtain a blank page when i submit the form with correct informations on the index.php page, but when I enter a false e-mail address or a bad password I have the errors but I am not redirected. And the session does not register because even if I have a blank page (header that does not redirect), I have no information to retrieve from my session during calls such as an echo of a first name linked to one of the tables sql, earlier my code was working fine but I had to touch a few things and since then I can't connect anymore

Thank's you, Sincerely.

 <?php
    // Connexion à la base de données
    require 'database.php';
    
    // Démarrage de la session
    session_start();
    
    // Récupération des données du formulaire
    $email = htmlspecialchars($_POST['email'], ENT_QUOTES);
    $password = htmlspecialchars($_POST['password'], ENT_QUOTES);
    
    // Vérification de l'existance de l'utilisateur
    $sql = "SELECT * FROM utilisateurs WHERE email='$email'";
    $result = mysqli_query($conn, $sql);
    if (mysqli_num_rows($result) == 0) {
      // Affichage d'un message d'erreur
      echo '<div class="alert alert-danger" role="alert">Erreur : utilisateur inexistant.</div>';
      echo "<meta http-equiv='refresh' content='5;url=index.php?modal=loginModal'>";
    } else {
      // Récupération du mot de passe hashé de l'utilisateur
      $utilisateur = mysqli_fetch_assoc($result);
      $password_hashed = $utilisateur['password'];
      
      // Vérification du mot de passe
      if (password_verify($password, $password_hashed)) {
        
        // Enregistrement de l'utilisateur dans la session
        $_SESSION['utilisateur'] = $utilisateur;
        
        // Redirection vers la page d'accueil
        header("Location: index.php");
      } else {
        // Affichage d'un message d'erreur
        echo '<div class="alert alert-danger" role="alert">Erreur : mot de passe incorrect.</div>';
        echo "<meta http-equiv='refresh' content='5;url=index.php?modal=loginModal'>";
      }
    }
    
    // Fermeture de la connexion à la base de données
    mysqli_close($conn);
    ?>
  • Check your log for "Headers already sent" warnings and fix the problem. See https://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php – Barmar Jan 07 '23 at 19:39
  • Thank's you, my php code wasn't at the top of my page –  Jan 07 '23 at 21:20

0 Answers0