Mot de passe PHP

Résolu/Fermé
flolegrand Messages postés 241 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 6 janvier 2011 - 13 déc. 2008 à 20:22
flolegrand Messages postés 241 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 6 janvier 2011 - 24 déc. 2008 à 14:57
Bonjour, j'aimerais bien avoir votre aide sur du PHP car malgré bon nombres de tutoriel que je lis, j'ai du mal à tout comprendre.
1) Quand on crée une page en PHP, ça ne sert à rien d'en avoir une autre en .XHTML (je parle de la même)??

2) J'ai aussi vu que l'on pouvait faire des mot de passes en HTML. Mais ça ne marche pas non plus.
Pour le site que j'aimerait bien faire, je voudrais savoir si c'était possible de choisir le nom d'utilisateur parmis une catégorie (enfin, ça je l'ai fait) mais que le mot de passe change pour chaque catégorie (et ça, ça ne marche pas). Je vous met mon code qui aurait grand besion d'être amélioré:

<p>

<br />
<label for="login">De quelle catégorie faites vous partie?</label><br />
<select name="login" id="login">
<option value="AmisFrance">Amis France</option>
<option value="AmisQuebec">Amis Québec</option>
<option value="Famille">Famille</option>
</select>

<br />
<label for="pass">Le mot de passe :</label>
<FORM action="..." method="post">
<P>
<INPUT type="password" name="pass" id="pass" />
<INPUT type="submit" />
<INPUT type="reset" />
</p>

</p>

Est-ce-que qu'elqu'un pourrait me faire le code, ou du moins me donner les grosses lignes, pour que je puisse avancer dans mon site web??

MERCI D'AVANCE.


11 réponses

Il me faudrait un peu plus d'infos. Mais en gros si j'ai bien compris :

ta page html comportant ton formulaire va envoyer les données saisies vers une autre page. L'adresse de cette auter page n'est rien d'autre que celle indiqué dans le champ action de la balise form (<form action="lapage.php"...>).

Il est important que la page qui recoit les infos comporte l'extension .php, sinon le code php ne sera pas lu par le serveur. Le html n'étant qu'un langage de description, il te faut quelques lignes de php pour valider ou invalider l'accès aux pages.

Tout d'abord il faut vérifier la validité du mot de passe de la catégorie. de champs nous intéressent le champ "catégorie" et le champ "mot de passe" pour voir s'ils conincident. La méthode choisie dans la page du formulaire en html etant "post", le php va pouvoir retrouver ces variables grace à la variable $_POST["categorie"] et $_POST["password"].
Il va devoir ensuite les comparer avec des données contenues dans un document. Ce document peut être de plusieurs natures :
- Le document lui même contient les informations sous forme de variable/tableau (peu conseillé)
- Une base de donnée contient tout les mots de passe (déjà mieux)
- un document texte sur le serveur contient ces infos (pas mal aussi)
Suivant la technique choisie, prenons la 2 et la 3, il faut se connecter au document, lire les données, les rappatrier dans un tableau, etc. Cela permet de s'entrainer à faire quelques manipulations en php.

Ensuite, plusieurs cas de figures se présentent :

1 . erreur de login/mot de passe => l'utilisateur est renvoyé vers une page d'erreur ou une autre page, peut importe.
2. Bon login/mot de passe. => il accède à la catégorie de son choix ou est redirigé vers la page voulue.
Il est conseillé pour ton utilisation de créer une session en php, dont tu pourras déterminer les règles de validité.
Il pourra rester connecté et revenir sans passer par le mot de passe tout le temps qu'il sera sur le site par exemple.

Un dernier conseil, tu peux passer toute tes pages avec l'extension .php, comme ca pas d'erreurs de code pas interprété.

Olivier
1
Utilisateur anonyme
14 déc. 2008 à 10:11
S'il a un mot de passe par catégorie, soit trois mots de passe en tout, je trouve un peu lourd de mettre en place une base de données. Il peut coder les mots de passe en dur pour un projet aussi réduit. En plus comme ça il aura un code simple qu'il pourra bien comprendre avant de se lancer plus tard s'il le veut dans du MySQL.
0
olivier > Utilisateur anonyme
14 déc. 2008 à 17:44
Oui c'est vrai.
0
Non non non. Tu n'y es pas du tout.

Prenons par le début.
Il te faut un éditeur de texte genre Wordpad.
Crée deux documents vierge.
Nomme le premier form.php.
Nomme le second categorie.php.

Ouvre form.php et copie le code suivant :

<form action="categorie.php" method="post">
<label for="login">De quelle catégorie faites vous partie?</label><br />
<select name="categorie">
<option value="AmisFrance">Amis France</option>
<option value="AmisQuebec">Amis Québec</option>
<option value="Famille">Famille</option>
</select>

<br />
<label for="pass">Le mot de passe :</label>
<P>
<INPUT type="password" name="password" />
<INPUT type="submit" value="Entrer" />
</p>
</form>

enregistres form.php et quitte.
Ouvre categorie.php et copie le code suivant :

<?php
$categorie=$_POST["categorie"];
$password=$_POST["password"];
$pass["AmisFrance"]="paris";
$pass["AmisQuebec"]="neige";
$pass["Famille"]="maman";
switch ($categorie)
{
case "AmisFrance":
$texte="Bienvenue sur la page des amis de la France";
break;
case "AmisQuebec":
$texte="Bienvenue sur la page des amis du Quebec";
break;
case "Famille":
$texte="Bienvenue sur la page de la famille";
break;
}
if ($password==$pass[$categorie])
echo $texte;
else
echo "erreur de mot de passe";
?>

Enregistre categorie.php.
Envoie les deux fichiers sur ton serveur (ca ne marchera pas sur ton ordi car php n'est pas installé, mais ca marchera très bien sur le serveur).
Rentre dans ton navigateur http://ton_domaine.com/form.php et le tour est joué.
A bientôt.
P.S. : les mots de passes sont dans categorie.php (paris, neige et maman, a toi de les changer).

Olivier.
1
Utilisateur anonyme
14 déc. 2008 à 00:41
1) Non. Les pages PHP ce sont juste des pages HTML avec des bouts de code PHP dedans. Tu as tout en une seule page.

2) Si j'ai bien compris :
- les gens choisissent leur catégorie dans une liste déroulante
- ensuite ils tapent le mot de passe correspondant à cette catégorie (une catégorie <=> un mot de passe)
- ils valident
- si c'est bon ils accèdent au reste du site

C'est ça?
Et la page à laquelle ils accèdent est-elle toujours la même où varie-t-elle selon la catégorie à laquelle ils appartiennent?

Si tu m'expliques en détail je peux regarder ça demain (enfin tout à l'heure lol) c'est pas bien compliqué.
0
flolegrand Messages postés 241 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 6 janvier 2011 32
14 déc. 2008 à 02:08
Oui, les mots de passes et les pages vont varier selon la catégorie qu'ils auront choisis.

Merci pour ton aide.
0

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

Posez votre question
flolegrand Messages postés 241 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 6 janvier 2011 32
14 déc. 2008 à 16:49
Olivier, tu as raison.
Je vais passer toutes mes pages en PHP.
Ehh,...
Je rajoute quoi de plus par rapprot à une page html pour transformer la page en PHP??
Désolé de vous poser autant de questions.
Et après, je vais vérifier que tout marche bien avec WampServeur.

Merci pour votre aide.
0
tu remplace seulement l'extension.

mapage.html => mapage.php

C'est tout.

Après dans ta page rien ne change.
Ton code php doit être encadré par les deux balises suivantes :

<?php
...
... code php
...
...
...
?>
0
flolegrand Messages postés 241 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 6 janvier 2011 32
15 déc. 2008 à 01:02
Ok, merci de m'avoir indiqué pour le PHP.

Dragasani, tu parlait un peu plus haut d'un codage pour les mots de passes. C'est lequel et comment je pourrait l'appliquer de manière qui marche (car jusqu'à date, rien de ce que j'ai essayé n'a marche pour mes mots de passes).

Merci d'avance et encore merci pour toute votre aide.
0
Salut,

tous tes champs de ton formulaire doivent être insérées entre les balises <form...> et </form>
0
En d'autes termes, ta balise <FORM action="..." method="post"> doit apparaître avant ton premier label.

Ne pas oublier de fermer la balise form (</form>) en fin de formulaire
0
flolegrand Messages postés 241 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 6 janvier 2011 32
15 déc. 2008 à 13:53
Donc si j'ai bien compris, je met <FORM action="..." method="post"> MES MOT DE PASSES </FORM>
Et c'est tout, le code que j'avait fait est aussi bon pour du php?
0
flolegrand Messages postés 241 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 6 janvier 2011 32
17 déc. 2008 à 13:30
Ok, merci beaucoup Olivier.
Par contre, quand une personne à rentré le mot de passe avec le nom d'utilisteur (et que le mot de passe est correct) le serveur envoir tout ça à catégorie.php
Mais je doit mettre quoi de plus dans mon code php pour que la page famille, puisse être chargée.
Pour le moment, elle existe mais est dans le dossier Famille alors que forum.php est dans Suite du site (un autre dossier).

Merci d'avance et encore merci pour toute votre aide.

Google est ton ami  ;)
0
flolegrand Messages postés 241 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 6 janvier 2011 32
20 déc. 2008 à 20:26
Ehh, il faut que j'ajoute quoi dans le code php de catégorie.php pour pouvoir faire charger la page web (AmisFrance, Amis Quebec et Famille) une fois que le mot de passe est rentré??
Ou sinon, faut-il que je mette le lien vers la page web correspondante dans le php?

Merci d'avance.
0
flolegrand Messages postés 241 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 6 janvier 2011 32
24 déc. 2008 à 14:57
Joyeux noël à tous et encore merci pour votre aide.
0