Problèmes PHP pour créer un espace membre

Fermé
Valentin - 18 sept. 2009 à 12:40
BrousseOuilisse Messages postés 27 Date d'inscription vendredi 18 septembre 2009 Statut Membre Dernière intervention 15 octobre 2010 - 18 sept. 2009 à 13:39
Bonjour,

Je n'arrive pas à résoudre mon problème, c'est à dire que je peux toujours rentrer sur la page sans avoir le bon compte et le bon mot de passe... Merci d'avance :


voici le code php :

<?php
mysql_connect("localhost","root","");
mysql_select_db("test");


if(!empty($_post['pseudo']) AND !empty($_post['mot_passe']))
{
$pseudo = htmlspecialchars($_POST['pseudo']);
$mot_passe = htmlspecialchars($_POST['mot_passe']);

$testpseudo = mysql_query("SELECT COUNT (*) AS nbre_pseudo FROM membres WHERE pseudo = '".$_POST['pseudo']."' ");
$testpseudo1 = mysql_fetch_array($testpseudo);

if($testpseudo1['nbre_pseudo'] == 1)
{
$sql = mysql_query("SELECT * FROM membres WHERE pseudo = '".$pseudo."' ");
$sql2 = mysql_fetch_array($sql);

if($mot_passe == $sql2['$mot_passe'])
{
$_SESSION['logged'] = 1;
$_SESSION['pseudo'] = $pseudo;
$_SESSION['id'] = $ech_1['id'];
}
}

elseif ($sql2['nb_pseudo'] != 1)
{
echo "Ce pseudo n'existe pas";
}
}

mysql_close();
?>
A voir également:

2 réponses

BrousseOuilisse Messages postés 27 Date d'inscription vendredi 18 septembre 2009 Statut Membre Dernière intervention 15 octobre 2010 5
18 sept. 2009 à 13:00
Bonjour,
D'abord, tu en fais beaucoup trop là. 3 accès a ta table juste pour vérifier si le pseudo et le pass sont bons ne sont pas nécessaires.

if(!empty($pseudo) AND !empty($pass))
{
$reponse = mysql_query("SELECT * FROM membres WHERE pseudo='$pseudo' AND mdp='$pass' LIMIT 1") or die(mysql_error());
$trouve=false;
while ($donnees = mysql_fetch_array($reponse))
{
$trouve=true;
//lecture de ta table
}
}

if ($trouve)//.... etc.
0
BrousseOuilisse Messages postés 27 Date d'inscription vendredi 18 septembre 2009 Statut Membre Dernière intervention 15 octobre 2010 5
18 sept. 2009 à 13:39
Re,
Sinon, je pense avoir trouvé ton bug :
if($mot_passe == $sql2['$mot_passe'])
il faut enlever le $ devant mot_passe, ci qui donne : $sql2['mot_passe']
0