Erreur incomprise... [Résolu]

Signaler
Messages postés
43
Date d'inscription
samedi 4 décembre 2004
Statut
Membre
Dernière intervention
4 avril 2007
-
Messages postés
43
Date d'inscription
samedi 4 décembre 2004
Statut
Membre
Dernière intervention
4 avril 2007
-
Bonjours à tous,

Je suis en train de développer un script d'identification mais j'ai un problème : une erreur m'est indiqué et je ne sais pas pourquoi. J'ai repris un script anglais parus dans un livre mais je l'ai légèrement modifier c'est donc pur cela qu'il y a des commentaires en anglais et des numéros de ligne faux.

Voila le code :

<?phpsession_start();<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />


$domaine = "gamesstupidtests.free.fr";


include ("adresse des paraètres MySQL..."); //A modifier avec la nouvel url


$sql = "SELECT pseudo FROM membre
WHERE pseudo='$_POST[pseudo]'"; #20
$result = mysql_query($sql)
or die("Couldn't execute query."); #22
$num = mysql_num_rows($result); #23
if ($num == 1) // login name was found #24
{
$sql = "SELECT pseudo FROM membre
WHERE pseudo='$_POST[pseudo]'
AND mdp=password('$_POST[mdp]')";
$result2 = mysql_query($sql)
or die("Couldn't execute query 2."); #30
$num2 = mysql_num_rows($result2);
if ($num2 > 0) // password is correct #32
{
$_SESSION['auth']="yes"; #34
$logname=$_POST['pseudo'];
$_SESSION['logname'] = $logname; #36
echo ("<SCRIPT language=Javascript>alert ('Connexion réussie !');document.location.href='../../../../index.php'</SCRIPT>");
exit; }
}
else // password is not correct #43
{
echo ("Mot de passe incorect...");
echo (" Retour... ");
exit();
}
} #51
elseif ($num == 0) // login name not found #52
{
echo ("Nom d'utilisateur incorrect...");
echo ("Retour...");
}
?>

L'erreur indiqué est :
Parse error: parse error, unexpected '}' in /var/www/free.fr/7/f/gamesstupidtests/HAFS/include/php/fr/LogIn/login.php on line 36

Merci de vos réponses.

14 réponses

Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
euh non je deconne grave, c'est celle d'avant #43 désolé

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Messages postés
43
Date d'inscription
samedi 4 décembre 2004
Statut
Membre
Dernière intervention
4 avril 2007

Vioups, il y a l'adresse des paramètres, n'essayez pas d'y aller, j'ai supprimé le fichier et j'en ai mis un autre autre part...
Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
salut,

ben l'erreur est clair pourtant
il y a une accolade qui ne va pas !

bon j'ai regardé vite fait mais apparemment c'est celle de la ligne #51 qui est en trop

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Messages postés
43
Date d'inscription
samedi 4 décembre 2004
Statut
Membre
Dernière intervention
4 avril 2007

Merci beaucoup !
Je suis bête : je n'ai pas regardé celle d'avant, merci, le problème est règlé !
Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
pas de quoi

@+

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Messages postés
43
Date d'inscription
samedi 4 décembre 2004
Statut
Membre
Dernière intervention
4 avril 2007

J'ai encore un problème : il me met que mon mot de passe est invalide alors qu'il est valide !
J'ai remplacé la fonction "password()" par "md5()" mais ça ne change rien.
Avant, quand je n’avais pas de fonction pour le cryptage, ça marchait très bien.

Merci d'avance.
Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
ben c'est bon comme ça mais comment est ce que tu enregistre le password dans ta base ?

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Messages postés
43
Date d'inscription
samedi 4 décembre 2004
Statut
Membre
Dernière intervention
4 avril 2007

LE programme qui enregistre est :

$pass = "md5($ligne[mdp])";//en obtenir le mot de pass et le mettre dans $pass

$rq_2 = "INSERT INTO membre (pseudo,mail,mdp,nbmess,groupe,date) VALUES ('$pseudo','$mail',md5('$pass'),'$mess','$groupe','$date')";
$result_2 = mysql_query($rq_2)
or die ("Confirmation impossible, vérifier le lien.");//Enregistrer la personne $pseudo, $mail sont dans l'url de la page.
//$pass vient de la bdd, $mess et $groupes sont pas défaut et $date est défini avant.

C'est peut être à cause du double md5 ?
Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
ben tu fait 2 fois le cryptage c'est tout !

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Messages postés
43
Date d'inscription
samedi 4 décembre 2004
Statut
Membre
Dernière intervention
4 avril 2007

Même en enlevant les 2 cryptages (le $pass venait d'une autre table, provisoire, où il était déjà crypté) ça ne marche toujours pas...

Merci tout de même de ta réponce.
Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
essai d'enlever les quotes, comme ça

$sql = "SELECT pseudo FROM membre

WHERE pseudo='$_POST[pseudo]'

AND mdp='md5($_POST[mdp])'";

et verifie directement dans ta base que le mot de passe est bien crypter en md5, 32 caracteres

change le manuellement pour etre sur

tu fait echo md5('ton_pass'); et tu insere ce que ca affiche dans ta base

ensuite tu test

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Messages postés
43
Date d'inscription
samedi 4 décembre 2004
Statut
Membre
Dernière intervention
4 avril 2007

AH !
Ca y est, j'ai compris !
Le cryptage en 32 caractères est impossible puisque mon champs de mot de passe dans MySQL est un VARCHAR15 !
Je suis bête !

Merci de ta réponce.
Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
eh eh ca arrive j'ai deja fait cette erreur aussi

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Messages postés
43
Date d'inscription
samedi 4 décembre 2004
Statut
Membre
Dernière intervention
4 avril 2007

J'ai enfin réussis à mettre tout bien.
Mais la modification

$sql = "SELECT pseudo FROM membre
WHERE pseudo='$_POST[pseudo]'
AND mdp='md5($_POST[mdp])'";

est fausse. Il fallait garder les quotes à l'interieur des paranthèses :

$sql = "SELECT pseudo FROM membre
WHERE pseudo='$_POST[pseudo]'
AND mdp=md5('$_POST[mdp]')";

Merci beaucoup de ton aide !