Votre question

PHP accès restrictif avec lien ou redirection [ca yé c terminé, a l'attention de

Tags :
  • Moteur de recherche
  • Programmation
Dernière réponse : dans Programmation
20 Janvier 2005 10:09:54

Salut,
J'ai voulu (pour la forme) mettre un login et un mot de passe très simple sur mon site, mais j'aimerais que la page réponse soit personnalisée (monsieur ou madame) en fonction de la personne. Est ce possible?
Voici ce que j'ai fait mais ca ne fonctionne pas!
En fait il faudrait que si nicolas se connecte, la page affiche : "bonjour MR nicolas, voulez vous consulter le site en francais ou en anglais" et si les autres se connectent elle affichera : "Bonjour Madame Caroline..." Mais si le mot de passe est erroné, seul devrait s'afficher : votre login ou votre mot de passe est erroné!
<?
$nom=$_POST['nom'];
echo "<br>";
$pwd=$_POST['pwd'];
if($nom=="Caroline" & $pwd=="xyz" || $nom=="Nicolas" & $pwd=="xyz"
|| $nom=="Laure" & $pwd=="xyz")
echo "Bonjour "
elseif($var = = 'Nicolas')
{print 'Monsieur';}
else{print 'Madame';}
" $nom, bienvenue sur le site de Sophie!<br>
En quelle langue voulez-vous visiter ce site?";
else echo "votre login ou votre mot de passe est erroné";
?>
Merci! :-D

Autres pages sur : php acces restrictif lien redirection termine attention

20 Janvier 2005 13:01:30

déjà, il te manque un ; ligne 7, ensuite ton $var ligne 8 n'a pas de valeur (ou alors tu n'as pas mis tout le code)
ensuite tu passes de echo à print pourquoi ?(ça nest pas important et ça marche mais je m'intéroge quand même)
il manque un echo ligne 11
et pour finir ligne 13 il y a un else qui ne fait référence à aucun if puisque tu as
if elseif else else (donc 2 if pour 3 else)
voila j'espère t'avoir aidé.
20 Janvier 2005 14:45:27

merci bcp, ton aide m'est précieuse!
20 Janvier 2005 15:31:54

Grace à ton aide j'ai réussi à avancer. donc maintenant j'ai bien un message d'erreur si la personne s'est mal identifiée et le bon message de bienvenue en fonction de la personne qui s'identifie. Mon soucis maintenant est que si la personne s'est bien identifiée, je veux lui proposer de continuer sa navig en cliquant sur un icone soit anglais soit français, mais seulement à cette personne et pas à celle qui dont le code est erroné... malheureusement, cette proposition je l'ai pour tt les personne...Est ce que c possible?
voici mes codes

20 Janvier 2005 17:33:19

développe moi ton :
elseif($var = = 'Nicolas')
parce que vraiment je ne comprend pas à quoi correspond $var
et puis réécris moi le code avec les modifs que tu as fait, que je puisse voir.
PS essaye de l'indenter un peut s'il te plait parce que c'est un peut dure de le relire
20 Janvier 2005 21:51:23

en fait g enlevé la variante var car c'était une erreur. Il s'agissait de nom. J'ai vu qu'il était possible d'insérer du html entre du php mais ca ne fonctionne pas. D'ou l'idée d'envoyer celui qui ne saisi pas correctement son login vers la page welcome en direct.
dans if, je dis que : si le nom et le mot de passe saisis ne sont pas égal à la liste suivante, alors
echo je dis que le code est faux(--->mais j'aimerais plutot dans ce cas rediriger vers .. /Site/ welcome . php);
sinon si login et mot de passe correspondent à la liste et que nom=nico;
alors bonjours monsieur nico;
sinon bonjour madame "nom".
En fait le soucis est que si la bonne personne est identifiée, elle doit choisir si elle veut visiter en français ou en anglais. Mais le lien avec les gifs francais et anglais sont également visibles même si le mot de passe est erroné. d'ou ma volobnté de rediriger vers welcome lorsque le mot de passe est faux... Qu'en penses tu, sachant que mes mots de passe et noms fonctionnent à ce stade?
20 Janvier 2005 23:19:20

ca y est g trouvé!!!
(après une journée entière de galère)
A la place de echo "code faux", je mets{HEADER('location: WELCOME.php');}
21 Janvier 2005 09:32:59

si tu souhaite réutiliser les $nom dans une autre page, tu devras utiliser les variables de session tel que
$_SESSION['pseudo'] = $_POST['nom']; // ou "pseudo" est le nom choisit pour la variable

ca te permettra d'afficher "Bonjour, ".$_SESSION['pseudo'] par la suite dans n'importe quelle page

A chaque fois que tu voudras faire appel à une variable de session tu devras indiquer en haut de page :
session_start();

la question est,, ou stocke tu les noms et mots de passe ? dans un vecteur ? matrice ? fichier ?

parce que reprendre les mots de passe comme tu le fais est vraiment pénible à gerer mais bon, ca c'est toi qui vois ;-)
21 Janvier 2005 14:01:07

Malheureuseement, pour le moment je ne sais pas encore comment on fait pour stocker les noms et mots de passe. j'apprends petit à petit toute seule.

J'avais un soucis avec ma formule, car qqsoit le nom saisi, on pouvais rentrer si on avait le mot de passe. Alors j'ai modifié en disant que l'accès était possible avec le seul mot de passe. Mais bon c'est temporaire, faudra que je trouve mieux.

Je vais essayer de faire une BDD.

Par contre saurais-tu si il est possible de mettre une page de recherche par mots clés dans mon site?(genre moteur de recherche) mais en assez simple... car je débute... :oops: 
21 Janvier 2005 14:01:11

vue la partie de code fournie, j'ai l'impression qu'il n'utilise ni cookies, ni base de données.
21 Janvier 2005 14:26:21

Une petite remarque, préférez les balises <?php ?> que <? ?> ! Les premières balises sont reconnues sur tous les serveurs, ce qui n'est pas le cas des seconds et qui d'ailleurs peuvent entrer en conflit avec les balises de début xml.
21 Janvier 2005 17:26:29

Lorsque je prévisualise ma page avec easy php en web local, php fonctionne bien (celui ki a un mot de passe erroné est ejecté sur une autre page tandis que celui qui s'est bien identifié accède bien à toutes les informations). Par contre lorsque j'ouvre mon fichier de base welcome.php avec internet explorer, il ne reconnait le php de la page reponse.php. Est ce que qq'un aurait une idée?
(pour agrandir la page, cliquer dessus)
21 Janvier 2005 19:24:25

Citation :

saori a écrit :
...
Par contre saurais-tu si il est possible de mettre une page de recherche par mots clés dans mon site?(genre moteur de recherche) mais en assez simple... car je débute... :oops: 


Oui, évidemment que c'est faisable, mais faut avoir de plus solides bases, je te conseil de t'attaquer à la gestion de ta base de donnée, tu fais tourner ca sur quel serveur ? Apache ? ils livrent MySql avec je pense renseignes toi la dessus
sinon mets le lien de ton site qu'on puisse rigoler huh t'aider ;-)
22 Janvier 2005 01:02:21

C'est bien ca avec Apache et il y a my sql.
Malheureusement je ne peux pas vous donner le lien car il n'est aps encore en ligne. Il n'est qu'en construction...
Je suis fière de moi pour les avancées que j'ai pu faire mais il ne fait vraiment pas pro! lol!
merci encore! je vais essayer la bdd
22 Janvier 2005 09:07:32

j'ai encore un soucis!!! Est ce que tu saurais pourquoi maintenant mon script (qui fonctionnait très bien) bug maintenant! je m'explique, lorsqu'on saisi maintenant le mot de passe, j'ai ce message d'erreur qui s'affiche:"Notice: Undefined variable: nom in c:\program files\easyphp1-7\www\ site\reponse.php on line 20
Notice: Undefined variable: nom in c:\program files\easyphp1-7\www\site\reponse.php on line 20
Notice: Undefined variable: nom in c:\program files\easyphp1-7\www\site\reponse.php on line 25
Bonjour Madame , bienvenue sur le site de Sophie!
En quelle langue voulez-vous visiter ce site? "

Comment je peux faire pour que ca refonctionne?

(sinon on m'a dit pourquoi le php ne fonctionnait pas sur internet explorer mais que se serait résolu dès que mon site sera e ligne. En attendant j'ouvre avec apache)
22 Janvier 2005 11:02:29

Citation :
(sinon on m'a dit pourquoi le php ne fonctionnait pas sur internet explorer mais que se serait résolu dès que mon site sera e ligne. En attendant j'ouvre avec apache)

!!!!!!!... as-tu vraiment pris le temps de lire des cours sur le PHP ? PHP c'est executé côté serveur, pas côté client (ie, firefox...). PHP se moque de ton navigateur, il ne fait que traiter des données, renvoyer du html. Si ton html est incorrecte, là le côté client (ie, firefox...) peuvent avoir des problèmes, mais se sera une erreur de HTML (on peut prendre en compte CSS et javascript aussi).

Citation :
Notice: Undefined variable

Fonction isset
22 Janvier 2005 11:29:49

En tant que neophyte (je découvre que depuis cette semaine ce qu'est la construction d'un site), je ne sais hélas pas grand chose. Et mon cours sur le php fait peur car ca se limite à dire que des tableaux faut les faire de tel manière et pour attribuer un mot de passe ou mettre la date, faut le faire d'une autre. (et ca ne fonctionne même pas car bourré d'erreurs)... Donc j'essaie de m'en sortir en parcourant les tutoriaux dispo sur le web et ce forum... Mais côté vocabulaire je découvre aussi donc souvent je ne comprends pas ce qui est expliqué. Je pense que si je parle de ma propre activité avec mon jargon professionnel, d'autres auront du mal à me suivre. Pour moi c'est pareil concernant le html et le php, donc c pour ca que je demande de l'aide...

Merci pour ton explication
22 Janvier 2005 12:09:26

Je comprends ce que tu veux dire et ce que tu dis est logique, néanmoins, la distinction serveur/client doit être faite à partir des 10 premières lignes d'un tutorial sur l'introduction à PHP. Tu as peut être zappé l'intro ou tombé sur un site qui explique qu'a moitié, et c'est surtout ça qui m'inquiète.
22 Janvier 2005 16:14:50

C'est vrai qu'il faut un minimum avant de poser des questions niveau programmation.

Ceci dit, je pense que tu t'en sors pas mal pour un début ;-)

Tes erreurs de variables, comme c'est indiqué, soit elles ne sont pas déclarées soit tu as omis le "$" devant le nom de celle ci.

Le php n'est pas un vrai language de programmation en soit, c'est un language script assez simple et donc pas, ou très peu, typé , ainsi les erreurs sont moins fréquentes, en général elles sont très faciles à résoudre. Le problème pourrait persister dans une erreur de logique d'ou le prérequis.

Je te conseil donc d'acheter un bon bouquin sur le PHP qui te servira de référence ( meme les pros en ont un comme "la bible php" par exemple )

si t'as d'autres questions précises, n'hésites pas

voila ++
22 Janvier 2005 17:12:17

Saori, si tu veux être corrigée, mets ton code, parceque une erreur ligne 20 et une autre ligne 25, ça n'avance pas des masses, tout ce que je peux te dire, c'est qu'à ces lignes là tu fais référence à des variables qui n'existent pas, soit parce que tu les a mal orthographiées, soit pas de $, soit un ; oublié.
22 Janvier 2005 19:00:45

Ce que je ne comprends pas c'est que mon problème est apparut tout à coup. Donc je viens d'essayer un truc, j'ai supprimé mon fichier en prenant soin de recopier mon code sur un autre. Puis je l'ai recréé et CA REMARCHE. je ne sais pas encore pourquoi, mais je vais suivre vos conseils, dès lundi je m'achète un bon bouquin ( car on m'en a passé un cette aprèm mais il est bidon). Ce qui est ennuyeux, c'est que souvent lorsque j'arrive à résoudre un pb il y en a un autre qui apparait...
Merci à tous (je m'y remets...)
24 Janvier 2005 23:26:36

Coucou, me revoilà! Après une bonne semaine de galère ( et beaucoup de nouvelles choses apprises....) mon site est terminé (du moins, pour la partie "examen" car je compte bien le finir et l'améliorer)et il est EN LIGNE!!!.
J'aurais mes notes dans 15 jours environ. (Oui, deux profs me notent pour ca)
Merci à tous les 3 de m'avoir aider car c'était pas facile.
Maintenant mes objectifs :apprendre à faire une table sql, des frames en php et bien comprendre les bases de données pour faire un vrai site pro (car là c'est pas vraiment le cas!).
Et oui, malgré les moments de crise où ca fonctionnait pas, je me suis bien éclatée!:-D
Merci encore et à bientot!
J'oubliais si vous voulais le lien faite moi signe et je vous envoie l'adresse par mail
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS