Bonjour à tous,

Tout d'abord merci à ceux qui prendront le temps de lire mon message.

J'ai découvert ce site pas hazard il y'a deux semaines, en cherchant un moyen d'arrondir les angles d'une bannière, et j'ai trouvé ici le BORDER RADIUS.. Smiley smile .

un grand projet (effectuer un mini tour du monde) m'a amené à réfléchir à un moyen de communiquer avec mes proches de façon ludique, toutes en leur faisant partager mes expériences et mes aventures tout au long de mon périple. j'ai d'abord pensé à Facebook ou à un blog,mais je trouve ça assez commun et comme j'aime les défis j'ai décidé de créer un un site web de mes propres neuronnes Smiley biggrin .

Je m'adonne donc aux joies du HTML et du CSS depuis 3 semaines. j'ai pu rélisé quelques pages qui communiquent bien entre elles. J'ai également créer un formulaire jusqu'ici tout aller bien. Mais en poussant un peu mes recherches un nouveau langage est apparu à moi le php.

je commence donc à m'interesser au PHP, et je suis tombé sur le moyen de filter l'entrée sur une page à l'aide d'un code secret.

formulaire.php donne accès à accueil.php si le mot de passe est correct sinon il affiche un message disant que le mot de passe est incorrect.

J'aimerai en fait que formulaire.php s'affiche à nouveau lorsque le mot de passe est incorrect, afin de le saisir à nouveau. Là je suis coincé, pour le moment je ne parviens pas à réaliser cela. C'est peut être tout bête mais je n'y parvien pas.

Je suis pour le moment un débutant, mais je compte bien progresser et apprendre encore et encore, en espérant moi aussi aider les futurs débutants et d'autres Smiley biggrin .

merci par avance pour vos réponse.

ps: pourquoi tout ce blabla juste pour une question? Smiley smile , en tant que nouveau membre , je tenais à me présenter Smiley biggrin .

bonne journée à toutes et à tous;

Melon
Modifié par melon (15 Jun 2010 - 11:31)
Bonjour,

merci de me répondre voici le code de ma page formulaire.php:

[/<head>
<title>formulaire mot de passe</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>

</head>
<body>
<p>Veuillez entrer le mot de passe pour embarquer:</p>
<form action="accueil.php" method="post">
<p>
<input type="password" name="mot_de_passe" />
<input type="submit" value="Valider" />
</p>

</form>
</body>
</html>]





et voici la page accueil.php:




<body>

<?php
if (isset($_POST['mot_de_passe']) AND $_POST['mot_de_passe'] == "voyage") // Si le mot de passe est correct alors on ouvre la page d'accueil
{
?>

<div>

<div>
<h1>Baribal & Myrtille <font size="+1"><sub><em>autour du monde</em></sub></font></h1>

...
<ul>
<li><a href="accueil.html">Accueil</a></li>
<li><a href="destinations.html">Destinations</a></li>
<li><a href="galerie_photos.html">Galerie Photos</a></li>
<li><a href="bons_plans.html">Bons Plans</a></li>
<li><a href="livre.html">Livres d'or</a></li>
</ul>
</div>

....

<?php
}
else
{
echo '<p>Mot de passe incorrect</p><br/>

<p>faut recommencer mon grand</p>';
}
?>


</body>



pour le moment mon code affiche un message d'erreur lorque le mot de passe est incorrect, et j'aimerais donc qu'il affiche à nouveau le formulaire. doit-ton le faire dans la page formulaire ou dans la page accueil.
j'espère que le code est assez clair.

merci


Melon Smiley biggrin
Salut et bienvenue parmi nous Smiley smile

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

Bonne continuation Smiley smile

upload/1-code.gif
Moi je serais toi, je mettrai déjà tout sur la même page. Si le mot de passe et le login sont juste on affiche le texte sinon on affiche le formulaire.
Bonjour,

Une solution pourrait être l'utilisation de la fonction header() en php (et ajouter un exit ou un die() après).

Cependant, niveau sécurité, ton script est à revoir.
Modifié par mal (15 Jun 2010 - 15:31)
merci pour vos réponses,

je voudrais mettre en ligne mon code , mais je n'arrive pas à l'insérer de manière à respecter les normes du site , je me suis fait tirer les oreilles Smiley smile

j'ai bien vu qu'une marge doit apparaitre tout le long du code , mais je n'y parviens pas !

melon
Rebonjour,

bon j'ai enfin compris voici mon code,


pour la page formulaire.php:


<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
	<head>
		<title>Page protégée par mot de passe</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	</head>
	<body>
		<p>Veuillez entrer le mot de passe pour embarquer:</p>
		<form action="accueil.php" method="post">
			<p>
			<input type="password" name="mot_de_passe" />
			<input type="submit" value="Valider" />
			</p>
		</form>
	</body>
</html>




et voici la page accueil.php:



<body>

	[#orange]<?php
	if (isset($_POST['mot_de_passe']) AND $_POST['mot_de_passe'] == "voyage") // Si le mot de passe est correct alors on ouvre la page d'accueil
	{
	?>[/#]
<div>

	<div>
		<h1>Baribal & Myrtille <font size="+1"><sub><em>autour du monde</em></sub></font></h1>
		
...
		<ul>
			<li><a href="accueil.html">Accueil</a></li>
			<li><a href="destinations.html">Destinations</a></li>
			<li><a href="galerie_photos.html">Galerie Photos</a></li>
			<li><a href="bons_plans.html">Bons Plans</a></li>
			<li><a href="livre.html">Livres d'or</a></li>
		</ul>
	</div>
	
....

    [#orange]<?php
	}
	else
	{
		echo '<p>Mot de passe incorrect</p><br/>
		
		<p>faut recommencer mon grand</p>';
	}
	?>[/#]

</body>




pour le moment mon code affiche un message d'erreur lorque le mot de passe est incorrect, et j'aimerais donc qu'il affiche à nouveau le formulaire. doit-ton le faire dans la page formulaire ou dans la page accueil.
j'espère que le code est assez clair.

merci


Melon Smiley biggrin
Salut,

Tu peux peut-être mettre ton formulaire et ton accueil dans le même script (accueil.php donc).
Le script commence par le traitement des données reçues, si elles sont reçues : avec ton if(isset()...).
Ensuite, selon le résultat de ce traitement tu affiches soit ton formulaire, soit ton accueil.
En gros ce que je veux dire c'est que tu peux tout faire sur une même page (un même script php). Ton formulaire peut "pointer" (attribut action de ta balise <form>) sur la page en cours.
Merci,

Voilà ce que j'ai fais dans la dernière partie de mon code dans la page accueil.php dans le 'else' j'ai introduis la fonction include pour afficher à nouveau formulaire.php. Je sais pas si c'est très orthodoxe mais ça l'air de fonctionner, par contre niveau sécurité je n'en suis pas très sûr.


    <?php
	}
	else // Sinon, retour vers le formulaire
	{
		include('formulaire.php ');
	}
	?>



merci pour l'idée.


melon