Bonjour, j'aurais besoin de votre aide ^^. Je veux connecter l'utilisateur une fois que son email et mot de passe soit valide comme tout formulaire de connexion classique.
Problème, pour mon mot de passe, quand les valeurs sont fausses il ne se connecte pas (ce qui est normal), mais même lorsque le mot de passe est correct, l'utilisateur n'arrive pas à se connecter pas non plus. Smiley sweatdrop
Quelqu'un aurait-il une idée ?
Bonjour,

Je suis au regret de t'annoncer que notre voyante nous a quitté il y a peu. Sans son aide, nous sommes maintenant incapable d'accéder aux codes buggés de nos visiteurs. Il va donc falloir que tu nous le fournisse toi même...
Oups désolé! ^^ voila mon code (j'ai enlevé les issets()des variables pour gagner en clarté)

$mysql_link=mysql_connect('localhost','admin','mysql')or die('ERREUR connexion');
mysql_select_db('base-catacult')or die ('ERREUR base de données');
// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM users WHERE ADH_Email="'.$_POST['email'].'" AND ADH_MotDePasse="'.md5($_POST['pass']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
//-----Exécution de la requête SQL
mysql_free_result($req);
//mysql_close();
// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0]==1) {
session_start()
$_SESSION['username'] = $_POST['email'];
}
Je ne vois pas ce qui cloche, mais voici des suggestions pour t'aider à trouver le problème :

Commence par afficher $_POST['email'] et md5($_POST['pass']) pour vérifier que tu obtiens bien les mêmes valeurs que dans ta base de donnée.
Si c'est le cas, affiche $sql et envoie la requête directement (via phpMyadmin par exemple) pour vérifier qu'il te renvoit bien "1".
Si ça fonctionne toujours, essaye de remplacer ton session_start() par un "echo" dans ta condition.

Ca devrait déjà te permettre de savoir un peu plus précisément où se situe le problème.

Au passage vérifie que tu n'affiches rien du tout avant le session start, mais si c'était ça le problème je crois qu'il te donnerait une erreur.


PS : mysql_free_result() me parait un peu superflu ici...
Modifié par BlueScreenJunky (10 Feb 2012 - 15:28)
Merci beaucoup BlueScreenJunky de ton aide précieuse.En ce qui concerne le $_POST['email'] et le md5($_POST['pass']) j'avais déjà tenter et tout s'afficher convenablement, d'où mon incompréhension.Ce que je n'avais pas tenter s'était d'afficher la variable $sql et de la testée sur MySql. Apparemment le problème venait de la (je touche du bois).Merci encore Smiley smile