Demande d'idée " authentification "

Résolu
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012 - 12 oct. 2006 à 13:42
cs_putch Messages postés 624 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 14 décembre 2009 - 15 oct. 2006 à 20:02
Bonjour,
j'ai mis une page admin.htm, oû l'administrateur
 se loge pour avoir la page admin.php pour l'administration de son site.

//admin.htm
contient un formulaire avec 2 zones de textes(login, password) et un bouton submit.

//et dans
//admin.php
//j ai fait :
[mailto:$login=@$_POST['login' $login=@$_POST['login']];
[mailto:$password=@$_POST['password' $password=@$_POST['password']];
//ça m addoné une erreur avant(Undifiend index...) c'est prkoi j'ai ajouté les ' @ '.,
//et c est pas ça  mon probleme.
//j'ai fait la connexion a la base de donnée,
//j'ai fait une requette :
$req=" SELECT COUNT(*) from tableAdmin where login='$login' and password='$password' ";

est ce que cette requette est bonne pour pouvoir tester si le login et le mot de passe sont correctes.
et aussi, je veux faire ça :
if($req)
{
Partie d'administration
}
else
{
Login ou mot de passe invalide
}

Merci pour votre aide.

11 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
12 oct. 2006 à 15:06
Hello,

heu, sûrement pas... ;-)
count(*) renverra de toute façon 1 ligne...donc, ce sera toujours = = 1.
$req=" SELECT COUNT(*) from tableAdmin where login='$login' and password='$password' ";
$res = mysql_query ($req);
if (mysql_result ($res, 0) == 0) {
    // pas bon
} else {
    // ok!
}
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
12 oct. 2006 à 13:50
Hello,

déjà, pour le @...tu aurais plutôt dû faire ça :
if (!empty ($_POST['login']) && !empty ($_POST['password'])) {
    // ok
} else {
    // not ok, pas de login et/ou de mot de passe
}

Ensuite, ta requête est ok.
Mais tu dois récupérer le résultat, et pas avec if ($req)! $req contient juste la chaîne de ta requête!
Il faut ensuite faire un query, puis récupérer le count(*)
0
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012
12 oct. 2006 à 13:55
merci pour ton aide;
stp je me suis bloqué, c koi la prochaine requette, qui recupere le conut(*) ?
ainsi, je te demande é c cette manière d'administration est bonne?
0
cs_putch Messages postés 624 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 14 décembre 2009 1
12 oct. 2006 à 14:44
salut !

$req= " SELECT COUNT(*) from tableAdmin where login='$login' and password='$password' ";
$res = mysql_query ($req);
if (mysql_num_rows($res) == 1)
{
    //ok : admin reconnu
}
else
{
    //ko
}

ps : pense à addslashes() aussi
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012
12 oct. 2006 à 14:47
je vais tester ça, et je vais te repondre ce soir,

c sûr que ça va marcher,
Merci
0
cs_putch Messages postés 624 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 14 décembre 2009 1
12 oct. 2006 à 15:19
oups zappé le count(*) ...

avec un SELECT id FROM ... c'aurai été bon
0
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012
12 oct. 2006 à 21:31
merci pour vos aides,
ça marche bien mais juste pour la 1ere paege,
j'ai plusieurs pas !, alors est ce qu 'il me faut une variables de session, si oui cimment faire, et si non, aussi comment faire?
merci
0
cs_putch Messages postés 624 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 14 décembre 2009 1
13 oct. 2006 à 07:30
ouaip avec les sessions tu peux gerer ca :

session_start(); en haut de chaque page php (avant tout envoie html)

et

$req=" SELECT id from tableAdmin where login='$login' and password='$password' ";
$res = mysql_query($req);
if (mysql_num_rows($res) == 1)
{
    //ok : admin reconnu
    list($id) = mysql_fetch_row($res);
    $_SESSION['sess_id'] = $id;
}

donc si tu as la variable $_SESSION['sess_id'], tu es authentifié !
0
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012
14 oct. 2006 à 00:09
j'ai fais ça :
$identification = "SELECT COUNT(*) FROM `admin` where login='".$login."' and motpasse='".$password."'";

$req_id = mysql_query($identification) or die (mysql_error ());


if (mysql_result ($req_id, 0) == 0)
{
?>
Login ou mot de passe invalide
[idAdmin.htm Retour]

<?php
}
else
{


 //ok : admin reconnu
    list($login) = mysql_fetch_row($res);
    $_SESSION['sess_id'] = $login;
.........
}

mais ça marche pas !!
0
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012
15 oct. 2006 à 00:54
Personne ne peut repondre?
0
cs_putch Messages postés 624 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 14 décembre 2009 1
15 oct. 2006 à 20:02
re
tu peux arreter le double post avec ce sujet on s'y perd ...

va regarder ce tutorial sur les sessions : http://www.toutestfacile.com/phpinit.php?tef_site=php&chap=sessions0
0
Rejoignez-nous