Login avec php/mysql

chouchou -  
 julesy -
salut à tous!!

je suis débutante en php et g un truc à faire mais je ne sais pas par ou commencer!! en faite je voudrais qu'au démarage de ma bd , une fenetre s'ouvre pour demander le mot de passe et le login de l'utilisateur(il ya 2 sortes d'utilisateurs) et suivant le login l'utilisateur poura rentrer d'une façon ou d'une autre sur une interface.

3 réponses

Julesy
 
5
Bobinours Messages postés 2903 Statut Membre 504
 
Salut chouchou,
Il y a plusieurs façon de faire, en voila une :

Il faut que tu crées une table UTILISATEURS dans ta base avec : Login, Pass, Droit...

Ensuite tu fais une page formulaire avec 2 champs de saisie (type TEXT et PASSWORD).

Une fois valider, tu vérifies si ces informations sont dans la base avec un :

$requete = "SELECT droit FROM utilisateurs WHERE login='". $_POST["login"] ."' AND password='". $_POST["pass"] ."'";
$result = mysql_query($requete) or die("erreur");
$num = mysql_num_rows($result);

Ensuite si $num (le nombre de resultat trouvé) est égale à 0, alors il n'y a pas d'utilisateur avec ce mot de passe. Affiche un message "Vous n'avez pas accès" puis fait un EXIT en PHP.

Sinon, tu récupères la valeur de DROIT pour savoir sur qu'elle page tu va rediriger l'utilisateur avec la fonction : HEADER("Location: page.php");
Tu choisiras soit la page simple.php ou page admin.php...

J'espère t'avoir éclairée.

-= Bobinours - http://bobin.underlands.org =-
2
avion-f16 Messages postés 20367 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
@Julesy : il faut avoir envie de se faire hacker pour utiliser ton tutoriel : il n'y a aucune protection.
1
Julesy
 
Si j'ai bonne mémoire il est écrit que cela a volontairement été oublié pour simplifier l'explication
0
avion-f16 Messages postés 20367 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
Je viens de faire quelques recherches rapidement, je n'ai rien trouvé à par ça :
« Pour simplifier le code, j'ai volontairement oublié la gestion des erreurs que pourraient retourner MySQL. »
Mais ça, ça n'a rien à avoir avec la sécurité.
0
Julesy
 
Pour mon petit exercice ça m'a suffit en tout cas. C'est avant tout pour les débutants comme moi je pense.
0
avion-f16 Messages postés 20367 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
Justement, d'abord c'est quand on est débutant qu'il faut avoir les conseils pour sécuriser ses scripts.
0
Bobinours Messages postés 2903 Statut Membre 504
 
Je suis tout à fait d'accord avec avion-f16. Même si ton initiative est bonne, Julesy, il est encore plus important d'expliquer aux débutants les quelques pièges à éviter à tout prix.

J'ai survolé très rapidement ton tutorial et voici ce que j'ai corrigé :
$query = "SELECT * FROM UTILISATEUR WHERE nomUtilisateur='".mysql_real_escape_string($_POST['login'])."'  AND passwordUtilisateur='".mysql_real_escape_string($_POST['password'])."' ;";


Le simple fait d'ajouter la fonction mysql_real_escape_string() protège ton site d'une injonction SQL.

Il manquait aussi un $ avant _POST. Cette correction est loin d'être exhaustive.
0