Problème PHP/MySQLi sur script de connexion

Fermé
IndyStracky Messages postés 3 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 19 juillet 2019 - 18 juil. 2019 à 15:09
IndyStracky Messages postés 3 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 19 juillet 2019 - 19 juil. 2019 à 11:55
Bonjour à tous, je viens vers vous car cela fait plus d'une semaine que je cherche à corriger mon erreur et je n'y arrive pas.
Je vous met ici le script de connexion: login.inc.php:

<?php 
if (isset($_POST['formconnexion'])) {
   require 'php/config2.inc.php';

   $mail = $_POST['mailconnect'];
   $password = $_POST['mdpconnect'];


   if (empty($mail) || empty($password)) {
      header("Location: connexion.php?error=emptyfields");
      exit();

   } else {
      $sql = 'SELECT * FROM membres WHERE mail = ?';
      $stmt = mysqli_stmt_init($conn);

      if (!mysqli_stmt_prepare($stmt, $sql)) {
         header("Location: connexion.php?error=sqlerror");
         exit();   

      } else {
         mysqli_stmt_bind_param($stmt, "s", $mail);
         mysqli_stmt_execute($stmt);
         $result = mysqli_stmt_get_result($stmt);

         if ($row = mysqli_fetch_assoc($result)) {
            $pwdcheck = password_verify($password, $row['motdepasse']);

            if ($pwdcheck == false) {
               header("Location: connexion.php?error=wrongpwd");
               exit(); 

            } else if($pwdcheck == true) {
               session_start();
               $_SESSION['UsersID'] = $row['id'];
               $_SESSION['UsersUID'] = $row['pseudo'];
               header("Location: espace.php?login=success");
               exit(); 

            } else {
               header("Location: connexion.php?success=wrongpwd");
               exit(); 
            }

         } else {
            header("Location: connexion.php?error=nouser");
            exit();        
         }
      }
   }

} 
else {
   header("Location: index.php");
   exit();
}
?>



Ainsi que le script de connexion à ma base de donnée: config2.inc.php:

<?php 
$servername = "localhost";
$dbusername = "root";
$dbpassword = "";
$dbname = "systemlogin";
$conn = mysqli_connect($servername, $dbusername, $dbpassword, $dbname);

if(!$conn) {
  die("Connection a échoué: ".mysli_connect_error());

}
?>

Et pour finir mon formulaire de connexion:

<html>
   <head>
      <title>Connexion: /title>
      <meta charset="utf-8">
      <link rel="stylesheet" type="text/css" href="css/style2.css">
      <link rel="icon" type="image/png" href="https://i.dlpng.com/static/png/29205_preview.png" />
      <link href="fontawesome/css/all.css" rel="stylesheet">
   </head>
   <body>
<?php include("includes/menu2.php"); ?>
      <div align="center">
         <form method="POST" action="login.inc.php" class="login" style="margin-right: 800px;" >
                     <h2 style="color: white;">Connexion</h2>

            <input type="email" name="mailconnect" placeholder="Mail" />
            <input type="password" name="mdpconnect" placeholder="Mot de passe" />
            <br /><br />
            <input type="submit" name="formconnexion" value="Se connecter !" />
         </form>
      </div>
   </body>
</html>


Voilà j'espère que vous parviendrez à m'expliquer mon erreur et à me donner des tuyaux si mon code est mal optimisé.
Bonne journée
A voir également:

1 réponse

DarthLighter
18 juil. 2019 à 15:24
Bonjour,

Si j'étais toi, je regarderais à faire ta connexion PHP/SQL avec PDO.
https://www.numelion.com/se-connecter-a-une-base-de-donnees-en-php.html

Peut-être que ça te débloquera...

Cdt.
1
IndyStracky Messages postés 3 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 19 juillet 2019
19 juil. 2019 à 10:50
Je comprends pas la différence entre MySQLi et PDO ? Car autant que je me souvienne, MySQLi est la méthode qui a le plus de fonctionnalités apporté par PHP7, non ?
0
DarthLighter
19 juil. 2019 à 11:49
Bonjour,

Voilà une discussion concernant le sujet :
https://openclassrooms.com/forum/sujet/difference-entre-connexion-pdo-et-mysql-31844

Ils comparent justement les 2.

Cdt.
0
IndyStracky Messages postés 3 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 19 juillet 2019
19 juil. 2019 à 11:55
Ok merci de ta réponse
0