Bonjour mon code à l'air correcte mais je n'arrive pas à mettre le nom de ma table en place..
<?php
session_start();
if(isset($_POST['name']) && isset($_POST['password']))
{
// connexion à la base de données
$db_username = 'root';
$db_password = '';
$db_name = 'users';
$db_host = 'localhost';
$db = mysqli_connect($db_host, $db_username, $db_password,$db_name)
or die('could not connect to database');
// on applique les deux fonctions mysqli_real_escape_string et htmlspecialchars
// pour éliminer toute attaque de type injection SQL et XSS
$username = mysqli_real_escape_string($db,htmlspecialchars($_POST['name']));
$password = mysqli_real_escape_string($db,htmlspecialchars($_POST['password']));
if($username !== "" && $password !== "")
{
$requete = "SELECT count(*) FROM utilisateur where
name = '".$name."' and mot_de_passe = '".$password."' ";
$exec_requete = mysqli_query($db,$requete);
$reponse = mysqli_fetch_array($exec_requete);
$count = $reponse['count(*)'];
if($count!=0) // nom d'utilisateur et mot de passe correctes
{
$_SESSION['name'] = $name;
header('Location: principale.php');
}
else
{
header('Location: login.php?erreur=1'); // utilisateur ou mot de passe incorrect
}
}
else
{
header('Location: login.php?erreur=2'); // utilisateur ou mot de passe vide
}
}
else
{
header('Location: login.php');
}
mysqli_close($db); // fermer la connexion
?>
J'écoute attentivement vos conseils et je vous en remercie énormément d’ailleurs, c'est pour cela que je suis actif sur ce site et non pas d'autres
Je demande juste un code de connexion simple.. le mot de passe en clair je sais que cela n'est pas top et qu'il faut faire le hachage maintenant et pas après mais pour l'instant si je n'arrive pas avec des mots de passe en clair sa sera encore plus compliquer de rajouter des lignes dont je ne comprendrai à moitié l’utilité.
Je cherche à me connecter à ma table aussi car chose qui n'est pas faîtes..
Deplus, j'ai 6erreurs, deux sur la ligne 14 sur les variables username et password
deux sur la ligne 17 exactement pareil.
Et une mysqli_fetch_array() expects parameter 1 to be mysqli_result, bool given in C:\wamp64\www\users\connexion_bdd.php on line 19
ET Cannot modify header information - headers already sent by (output started at C:\wamp64\www\users\connexion_bdd.php:19) in C:\wamp64\www\users\connexion_bdd.php on line 28
Première erreur : ta requête est fausse => débute ton code par : mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
Seconde erreur : à ignorer pour le moment, ce n'est qu'une conséquence de la première
Ligne 14 et 17, ça ne correspond à rien : il faudrait redonner ton code, on ne sait pas ce que tu as ou non modifié ainsi que les erreurs complètes. Tu dis avoir 6 erreurs mais n'en donnes que 2 ...
<?php
session_start();
if(isset($_POST['username']) && isset($_POST['password']))
{
// connexion à la base de données
$db_username = 'root';
$db_password = '';
$db_name = 'users';
$db_host = 'localhost';
$db = mysqli_connect($db_host, $db_username, $db_password,$db_name)
or die('could not connect to database');
if($username !== "" && $password !== "")
{
$requete = "SELECT count(*) as nombre FROM utilisateur where
username = '".$username."' and mot_de_passe = '".$password."' ";
$exec_requete = mysqli_query($db,$requete);
$reponse = mysqli_fetch_array($exec_requete);
$count = $reponse['count(*)'];
if($count!=0) // nom d'utilisateur et mot de passe correctes
{
$_SESSION['username'] = $username;
header('Location: principale.php');
}
else
{
header('Location: connexion.php?erreur=1'); // utilisateur ou mot de passe incorrect
}
}
else
{
header('Location: connexion.php?erreur=2'); // utilisateur ou mot de passe vide
}
}
else
{
header('Location: connexion.php');
}
mysqli_close($db); // fermer la connexion
?>
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Activer les erreurs PDO / (julp) htmlspecialchars / FAQ PHP / Pas d'aide par MP
Pas d'aide concernant le code par MP, le forum est là pour ça :)
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
Je modifie ce que tu m'as dis aussi
Activer les erreurs PDO / (julp) htmlspecialchars / FAQ PHP / Pas d'aide par MP
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli