Probleme dans php

Fermé
sheva94 - 5 déc. 2008 à 15:53
2berte Messages postés 204 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 10 mai 2010 - 5 déc. 2008 à 16:44
Bonjour,
je suis debutant dans le language php,
j'ai crée une base de données avec une table a 3 champs id;identifiant,motdepass que j'ai rempli
et je voudrais comparer la valeur qu'un utilisateur rentre dans un formulaire avec le contenu de la base de données mon programme est le suivant :

<?php

$ide=$_POST["identifiant"];
$code=$_POST["passeword"];

// connection a la base de données
mysql_connect("localhost", "root", "");
//choix de la base
mysql_select_db("codeacces");

$sql='SELECT identifiant, motdepass FROM code '; // Requête SQL
$req =mysql_query($sql);

$donnees = mysql_fetch_array($req) ;

if (($ide==$donnees['identifiant'])&&($code==$donnees['motdepass']))
{ require 'PROGRAMMATION_WEB.php';}
else { echo "L'identifiant ou le mode passe est incorrecte ";
echo "Pour revenir à la page precedente et réessayer cliquez sur ";
}

mysql_close(); // Déconnexion de MySQL
?>
<a href="PROGRAMMATION WEB.php">Retour à la page d'Accueil</a>

Merci par avance
A voir également:

3 réponses

Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
5 déc. 2008 à 16:16
tu dois balayer le tableau de résultats que te renvoi mysql avec une instruction while:

while($donnees=mysql_fetch_array($req)) {
ton code
}
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
5 déc. 2008 à 16:18
et t'as pas besoin de toutes ces parenthèses dans ton if

if ( $ide==$donnees['identifiant'] AND $code==$donnees['motdepass'] )

ps: l'opérateur AND a une priorité plus élevée que le &&
0
2berte Messages postés 204 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 10 mai 2010 143
5 déc. 2008 à 16:44
Ta requête me semble étrange, car là elle te retourne tous les champs. Toi ce que tu veux faire, c'est vérifier si la personne a un compte avec son identifiant, et si son mot de passe est valide ?

Si c'est le cas tu devrais faire une requête de ce style :

$query = "select * from code where identifiant = '".$ide."' and motdepass = '".$code."';";
resultat = mysqlquery($query) or die(mysql_error());


or die(mysql_error()) t'indique s'il y a une erreur dans ta requête...

Une fois ta requête exécuté, tu regarde s'il y a un enregistrement, si c'est le cas tu lui donne accés aux pages autorisées (si et seulement si tes identifiant sont uniques dans ta table), sinon tu lui dit qu'il y a une erreur.

En attente de te lire en retour,

2berte
0