par
Kaoteknik » 15 oct. 2007, 19:42
Bien, je n'ai pas trop eu le temps ces derniers jours de me pencher sur le problème, je m'y suis donc attelé ce soir. Après avoir suivi tes conseils, voici le code modifié :
$pseudo = $_POST['pseudo'];
$pass = $_POST['pass'];
$validite_formulaire = true;
$message_erreur = 'La connexion n\'a pas pu ètre établie pour la(les) raison(s) suivante(s) :<br />';
if (empty($pseudo) || empty($pass)) {
$validite_formulaire = false;
if (empty($pseudo)) {
$message_erreur .= '- Vous n\'avez pas rempli le champ "Login".<br />';
echo $message_erreur;
}
if (empty($pass)) {
$message_erreur .= '- Vous n\'avez pas rempli le champ "Pass".<br />';
echo $message_erreur;
}
else {
require_once('configbdd.php');
$connexion = mysql_connect($dbhost, $utilisateur, $mdp) or die(mysql_error());
mysql_select_db($bdd, $connexion) or die(mysql_error());
$requete = ("SELECT count(*) as nb FROM users WHERE pseudo='$pseudo' AND pass='$pass'");
$resultat = mysql_query($requete) or die (mysql_error());
$selection = mysql_fetch_array($resultat);
if ($selection['nb'] == 0) {
$validite_formulaire = false;
$message_erreur .= 'Le mot de passe que vous avez indiqué ne correspond pas au pseudo ou votre login n\'existe pas dans la base de données.';
echo $message_erreur;
}
else {
session_start();
$expiration = time() + 365*24*3600;
setcookie('pseudo', $pseudo, $expiration);
setcookie('pass', $pass, $expiration);
header ('location:accueil.php');
}
}
Vu de cette façon ça paraît en effet plus "propre". Cela dit je n'ai pas encore testé si mon code était viable une fois en ligne. Je vais de ce pas l'appliquer et le retourner dans tous les sens !
Je repasserais pour confirmer si tout est en ordre ou si au contraire rien ne va plus !

Bien, je n'ai pas trop eu le temps ces derniers jours de me pencher sur le problème, je m'y suis donc attelé ce soir. Après avoir suivi tes conseils, voici le code modifié :
[php]$pseudo = $_POST['pseudo'];
$pass = $_POST['pass'];
$validite_formulaire = true;
$message_erreur = 'La connexion n\'a pas pu ètre établie pour la(les) raison(s) suivante(s) :<br />';
if (empty($pseudo) || empty($pass)) {
$validite_formulaire = false;
if (empty($pseudo)) {
$message_erreur .= '- Vous n\'avez pas rempli le champ "Login".<br />';
echo $message_erreur;
}
if (empty($pass)) {
$message_erreur .= '- Vous n\'avez pas rempli le champ "Pass".<br />';
echo $message_erreur;
}
else {
require_once('configbdd.php');
$connexion = mysql_connect($dbhost, $utilisateur, $mdp) or die(mysql_error());
mysql_select_db($bdd, $connexion) or die(mysql_error());
$requete = ("SELECT count(*) as nb FROM users WHERE pseudo='$pseudo' AND pass='$pass'");
$resultat = mysql_query($requete) or die (mysql_error());
$selection = mysql_fetch_array($resultat);
if ($selection['nb'] == 0) {
$validite_formulaire = false;
$message_erreur .= 'Le mot de passe que vous avez indiqué ne correspond pas au pseudo ou votre login n\'existe pas dans la base de données.';
echo $message_erreur;
}
else {
session_start();
$expiration = time() + 365*24*3600;
setcookie('pseudo', $pseudo, $expiration);
setcookie('pass', $pass, $expiration);
header ('location:accueil.php');
}
}[/php]
Vu de cette façon ça paraît en effet plus "propre". Cela dit je n'ai pas encore testé si mon code était viable une fois en ligne. Je vais de ce pas l'appliquer et le retourner dans tous les sens ! :roll:
Je repasserais pour confirmer si tout est en ordre ou si au contraire rien ne va plus ! :wink: