Erreur qui reste introuvable pour moi!

Signaler
Messages postés
5
Date d'inscription
jeudi 1 mai 2003
Statut
Membre
Dernière intervention
1 juin 2004
-
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
-
Slt,
Merci beaucoup à tous ceux qui poste des sources et des tutos, cela m'aide enormement car c'est avec ca que j'apprend.
Mais là je vais vous demander un coup de main.
dans une section membre, j'ais un script php qui permet de controler l'identité grace aux données de la base mysql et celles du formulaire d'authentification.

j'ais une erreur que je n'arrive pas à trouver aprés + de 1h30 de relecture et d'essais divers:

Parse error: parse error, unexpected $ in security.php on line 22

voici le code du fichier:

<?php
session_start();
if($_POST['login'] != "" && $_POST['pass'] != ""){
include("cbdd.php");
$select="select login,pass from users where login = '$login'";
$req = mysql_query($select) or die('Erreur SQL !
'.$select.'
'.mysql_error());
$data = mysql_fetch_array($req);
if($data['login'] != $login){
header('location: authentification.php');
exit();
}
$passmd = md5($pass);
if($data['pass'] != $passmd){
header('location: authentification.php');
exit();
}else{
$_SESSION['pseudo'] = $data['login'];
$_SESSION['idm'] = $data['passmd'];
header('location: indexm.php');
exit();
}
?>

7 réponses

Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
hello..

juste une remarque: tu fais un select sur le login, ce n'est pas necessaire de verifier apres si le logi nest bon ( il l'est forcement!!)
enfin..c'est un d"tail.. je cherche la suite.

ps: c koi la ligne 22?
-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
tu mets:
$passmd = md5($pass);

je vois pas où est défini $pass?
ton fichier est inclu ds un autre?
-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
121
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
1 décembre 2009

je te laisse chercher mais ya un problème avec les { }
yen a un qui n'est pas fermé
y manque un }
Messages postés
5
Date d'inscription
jeudi 1 mai 2003
Statut
Membre
Dernière intervention
1 juin 2004

slt et merci bcp,

effectivement mon premier if n'était pas fermé par son }
ce qui me tue c'est que j'ais tout relu au moins cinquante fois.

pour ce qui est du login, il est vrai que c'est stupide ce que je fais là, lol une belle betise de débutant autodidacte ;).

mon erreur de parsing est à présent réglé, pour ce qui est de $pass, il me vient d'un formulaire d'authentification:

<form action="secure.php" method="post">

</form>

le voici, et voici donc mon fichier de vérification corigé:

<?php
session_start();
$login=$_POST['login'];
$pass=$_POST['pass'];
if($login != "" && $pass != ""){
include("cbdd.php");
$select="select login,pass from users where login = '$login'";
$req = mysql_query($select) or die('Erreur SQL !
'.$select.'
'.mysql_error());
$data = mysql_fetch_array($req);
}
$passmd = md5($pass);
if($data['pass'] != $passmd){
header('location: authentification.php');
exit();
}else{
$_SESSION['pseudo'] = $data['login'];
$_SESSION['idm'] = $data['passmd'];
header('location: indexm.php');
exit();
}
?>

Mais à présent j'ais un autre soucis, cela tourne en boucle sur authentification, je revient systémathiquement dessus, comme si c'était pas bon, donc me voilà reparti à creuser ;).
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
ptete dire une connerie..
ton mot de passe est stoché en md5 dans ta base de données ??????
ou laors il est just encrypté?

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
5
Date d'inscription
jeudi 1 mai 2003
Statut
Membre
Dernière intervention
1 juin 2004

lut,

en md5, grace à ce fichier addmembre.php :

<?php
session_start();
if(isset($_POST['login']) && isset($_POST['pass'])){
$pass= md5($pass);//je le crypte ici avant de l'inclure ds la bdd
include("cbdd.php");
$sql="INSERT INTO users VALUES('', '$login', '$pass')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());
session_unset();
header('location: authentification.php');
}else{
header('location: inscription.php');
exit();
}
?>

et je viens de les comparer en fesant echo $passmd et echo $data['pass'] et c'est bien identhique, je comprend pas pourquoi ma comparaison échoue.
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
pfff je vois pas ce qui cloche... :(

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]