24-06-2007, 12:22 PM
Salut, je voudrais vous poser une question sur le code ci joint:
Code PHP :
<?php
session_start();[/color]
if ((empty($_POST['login'])) AND (empty($_POST['passe']))) /* on controle que les champs ne sont pas vide ou nul et si c'est le cas on affiche un message d'erreur */
{ echo 'L'un des champ de connexion n'est pas remplie, merci de refaire un essai: <a href="vers_formulaire">ICI</a>'; }
else { /* les champs du formulaire de connexion ne sont pas vide on peut affecter les valeurs du post au
variable pour les comparer à la table des utilisateur */
$login=mysql_real_escape_string($_POST['login']); /* ici on fait la protection des variable pour éviter les injection mysql on peut éventuellement rajouter un stripslashes() aux Post avant */
$passe=mysql_real_escape_string($_POST['passe']);
$reponse = mysql_query("SELECT login, passe FROM membre WHERE login=$login AND passe=$passe") or die(mysql_error()); /* on selectionne le champ login et passe du membre pour controle */
$donnees = mysql_fetch_array($reponse);
if ($donnees['login']!="" AND $donnees['passe']!="") /* on vérifie le retour mysql sur login et passe */
{
$_SESSION['login_session']=$donnees['login']; /* l'utilisateur est reconnu on peut mettre son login en variable de session mais pas le mot de passe */
}
else
{ echo 'erreur de connexion'; } } /* l'utilisateur n'est pas reconnu on lui affiche un message d'erreur ou plus */
?>
Ceci correspond donc à la verification des donnees envoyees par les visiteur afin qu'il puisse se connecter a sa session.
Mais à cette ligne ci:'if ($donnees['login']!="" AND $donnees['passe']!="") '
je me demandais si on ne devrait pas plutôt faire ceci:if ($donnees['login']!="$_POST['login']" AND $donnees['passe']!="$_POST['passe']")
afin de faire la comparaison avec les donnees entrees par le visiteur parce que ne rien mettre ca me laisse perplexe.
merci de votre aide.