creation de site internet :

- proteger une page par mot de passe

credit immobilier
Autres messages sur des sujets similaires :
L'HEURE DANS SA PAGE (JVS)
Compteur de blocage de page .html
J'ai un petit souci pour sortir de ma page html…
php mot de passe
mot de passe
Cours HTML / Javascript / PHP disponibles :



 Retour Site Honolulu  |  Nouveau sujet  |  Retour aux sujets  |  Chercher  |  Connexion    
 proteger une page par mot de passe
Auteur: sylvain
((---.ipt.aol.com)
Date: 22-08-2002 15:08
 messages postés sur  la création de site internet [ msg ]
Proteger l'accès à une page par un mot de passe:

J'ai trouvé un truc sur un site, mais cela me semble incomplet.
regardez par vous même:

1 ere page: le formulaire

<form name="formmdp" method="GET" action="verifmdp.php"><br><br><br><br>
<p align="center">Pour pouvoir acceder à cette page<br>
Saisissez votre mot de passe :<br>
<input type="text" name="mp">
<input type="submit" name="Submit" value="Valider">
<br>
</p>
</form>


2ème page:nomée verifmdp.php

<?
if ($mp=="motdepasse") {
echo "<H3> vous avez le bon mot de passe !</H3>";
} else {
echo "<H3> Ce n'est pas le bon mot de passe !</H3>";
}
?>


même si le mot de passe est faux, on accede tout de même à la page verifmdp.


oukil est le truc qui manque?

Répondre à ce message
 
 Re: prtoteger une page par mot de passe
Auteur: honolulu
((---.ipt.aol.com)
Date: 22-08-2002 15:35
 messages postés sur  la création de site internet [ msg ]
"même si le mot de passe est faux, on accede tout de même à la page verifmdp..." c'est normal puisque l'action c'est verifmdp.php..... :o)) sauf que le message est différent selon le mot de passe saisi. en fait le gars qui a écrit ça voulait simplement démontrer le mécanisme de verifmdp.php..... si tu veux aller + loin avec ce script, tu vas devoir te mettre aux "headers"...

<?
if (isset($go)){
if ($mp=="motdepasse")
{
header("location:inserer2.php");
}
else {
echo "<H3> Ce n'est pas le bon mot de passe !<H3>";
}
}
?>
<html>
<body>
<form name="formmdp" method="post" action="<?$PHP_SELF;?>"><br><br><br><br>
<p align="center">Pour pouvoir acceder à cette page<br>
Saisissez votre mot de passe :<br>
<input type="text" name="mp">
<input type="submit" name="go" value="Valider">
<br>
</p>
</form>
</body>
</html>

Répondre à ce message
 
 j'ai honte
Auteur: sylvain
((---.ipt.aol.com)
Date: 22-08-2002 17:27
 messages postés sur  la création de site internet [ msg ]
Vraiment j'ai très honte.
Surtout que j'ai l'impression d'être l'emmerdeur de service pour toi.

Ca marche pas.

Voici le code de ma page 1:
- - - - - - - - - - --

<html>
<header>
<TITLE>saisir une annonce</TITLE>
</header>
<body>
<form name="formmdp" method="post" action="<?$PHP_SELF;?>"><br><br><br><br>
<p align="center">Pour pouvoir acceder à cette page<br>
Saisissez votre mot de passe :<br>
<input type="text" name="mp">
<input type="submit" name="go" value="Valider">
<br>
</p>
</form>

</body>
</html>
- - - - - - - - - -- - - -

et celui de ma page 2 nommée verifmdp

- - - - - - -- -
<html>
<header>
<title>accueil</title>
</header>

<body>
<div align="center"><center>
<?
if (isset($go)){
if ($mp=="motdepasse")
{
header("location:inserer2.php");
}
else {
echo "<H3> Ce n'est pas le bon mot de passe !<H3>";
}
}
?>
</center></div>
</body>
</html>

Quand je valide sur le bouton de la page 1, j'ai dans la barre d'adresse:
http://localhost/occas2/<?$PHP_SELF;?>
Et dans le texte de la page:
You don't have permission to access /occas2/< on this server.

J'avais pourtant l'impression d'avoir fait ce que tu m'avait dit.

Répondre à ce message
 
 Re: prtoteger une page par mot de passe
Auteur: honolulu
((---.ipt.aol.com)
Date: 22-08-2002 18:34
 messages postés sur  la création de site internet [ msg ]
mais non t'es pas "l'emmerdeur de service".... et mais non c'est pas comme ça qu'il fallait tester le code que j'ai modifié... il faut tester le code seul que j'ai refait puisque à lui seul il regroupe les 2 que tu m'avais montrés :o)
>>>>>>>
ne touche pas au code que j'ai retouché, fais simplement un copier-coller et nomme le comme tu veux avec l'extension .php et teste-le....... un copier-coller sans rien ajouter avant ni aprés !

Répondre à ce message
 
 Re: prtoteger une page par mot de passe
Auteur: sylvain
((---.ipt.aol.com)
Date: 22-08-2002 18:46
 messages postés sur  la création de site internet [ msg ]
Il me repond:


Warning: Cannot add header information - headers already sent by (output started at c:\easyphp\www\occas2\essai.php:1) in c:\easyphp\www\occas2\essai.php on line 5


la ligne 5 c'est:

header("location:inserer2.php");

Répondre à ce message
 
 Re: prtoteger une page par mot de passe
Auteur: honolulu
((---.ipt.aol.com)
Date: 22-08-2002 19:13
 messages postés sur  la création de site internet [ msg ]
!!!!!! est-ce que ta page en .php ressemble à ça, rien qu'à ça et seulement qu'à ça :

<?
if (isset($go)){
if ($mp=="motdepasse")
{
header("location:inserer2.php");
}
else {
echo "<H3> Ce n'est pas le bon mot de passe !<H3>";
}
}
?>
<html>
<body>
<form name="formmdp" method="post" action="<?$PHP_SELF;?>"><br><br><br><br>
<p align="center">Pour pouvoir acceder à cette page<br>
Saisissez votre mot de passe :<br>
<input type="text" name="mp">
<input type="submit" name="go" value="Valider">
<br>
</p>
</form>
</body>
</html>

Répondre à ce message
 
 Re: prtoteger une page par mot de passe
Auteur: sylvain
((---.ipt.aol.com)
Date: 22-08-2002 19:18
 messages postés sur  la création de site internet [ msg ]
Oui, j'ai fait un copier/coller sans rien ajouter.
J'écoute....

Quand je ne saisi pas de mot de passe ou bien erroné, il me dit bien que ce n'est pas le bon, mais quand je saisis:
motdepasse
dans le champ, il me dit
Warning: Cannot add header information - headers already sent by (output started at c:\easyphp\www\occas2\essai.php:1) in c:\easyphp\www\occas2\essai.php on line 5

Répondre à ce message
 
 Re: prtoteger une page par mot de passe
Auteur: honolulu
((---.ipt.aol.com)
Date: 22-08-2002 19:28
 messages postés sur  la création de site internet [ msg ]
vérifie qu'il n'y ait rien entre le début de ton fichier et la première balise d'ouverture php, il faut qu'il n'y ait rien, même pas un espace, même pas un retour à la ligne....

Répondre à ce message
 
 Re: prtoteger une page par mot de passe
Auteur: sylvain
((---.ipt.aol.com)
Date: 22-08-2002 19:35
 messages postés sur  la création de site internet [ msg ]
il y avait un #*¤"# d'espace !!!

CA MARCHE

Ca veut dire que je ne met pas non plus de titre, ni de head, etc?

a default d'un chèque, je t'enverrais bien un paquet de bonbon.


Dans le même temps, je m'acharne toujours sur la création d'une page qui permettrai de visualiser au moins les id des annonces, puis de pouvoir en choisir une pour effacer l'annonce.

Pour l'instant, j'en suis juste à afficher les id.
(en fait, j'ai tout repris de l'autre page, et j'ai virer ce qui n'était pas l'id,
mais alors pour la suite.........)

Mais je t'ai tellement casser les pieds que je devrai peut être aller gonfler quelqu'un d'autre sur un autre forum!!

En attendant, sur ce coup, tu m'as sauvé la vie.

Répondre à ce message
 
 Re: prtoteger une page par mot de passe
Auteur: honolulu
((---.ipt.aol.com)
Date: 22-08-2002 19:51
 messages postés sur  la création de site internet [ msg ]
no souci :o)) pour le head et le titre, tu peux en mettre mais aprés la balise de fermeture du code php...

Répondre à ce message
 
 Re: prtoteger une page par mot de passe
Auteur: sylvain
((---.ipt.aol.com)
Date: 22-08-2002 20:13
 messages postés sur  la création de site internet [ msg ]
:o))

Merci

Pour mon autre truc, j'en suis là
- - - - - -
<html>
<head>
<title>supprimer</title>
</head>
<BODY> <div align="center"><center>

<?$db = mysql_connect('localhost','occas') or die ("erreur de connexion");
mysql_select_db('occas',$db) or die ("erreur de connexion base");

$requete = mysql_query("SELECT id from occasions");
print"<table>";

while ($resultat = mysql_fetch_array($requete))
{print "<table border=1 width=100 bordercolor=#008000>
<tr>
<td><B>N°:  </B>$resultat[id]<br></td>
</tr>
<tr>
<td><input type=\"submit\" name=\"effacer\" value=\"Effacer\" />
</td>
</tr>

";
} print"</table>";
mysql_close();
?>
</center></div>
</body>
</html>

- - - - - - --

Mais mon bouton, il ne fait rien, bien sur, puisque l'id n'est pas sélectionnée.
Puis je me perd dans les bouquins pour arriver à comprendre comment lui faire supprimer l'id concernée et l'annonce qui va avec.

On ne peux pas attribuer une action de ce genre à un bouton?

Enfin... je vais manger.
Je te souhaite bon appétit.

Et encore MERCI !!!

Répondre à ce message
 
 Re: prtoteger une page par mot de passe
Auteur: honolulu
((---.ipt.aol.com)
Date: 23-08-2002 00:17
 messages postés sur  la création de site internet [ msg ]
et bien tu crées un input type="text" name="choix" et tu crées un script php qui va, si tu as bien un $id qui est égal à $choix, supprimer la ligne d'enregistrement contenant ce $id...
pour supprimer
$supprime="DELETE FROM ma_table WHERE $id='$choix'";

juste un truc sur ta boucle while... tu mets ton bouton submit dans ta boucle, ce qui veut dire que s'il y a 36 $id, tu vas avoir 36 boutons.......

deuxième truc, qui dit bouton de submit, dit formulaire, j'en ai pas vu... et c'est ton formulaire soumis par ton bouton submit qui va actionner le code php $supprime........

Répondre à ce message
 
 Re: prtoteger une page par mot de passe
Auteur: sylvain
((---.ipt.aol.com)
Date: 23-08-2002 09:11
 messages postés sur  la création de site internet [ msg ]
Bon, je reprends depuis le début: "Il y avait des dinosaures..."
Non, ca va être trop long...

Voila ce que j'ai fait


------------------------------


<HEADER>
<TITLE>supprimer une annonce</TITLE>
</HEADER>
<BODY> <div align="center"><center>

<?$db = mysql_connect('localhost','occas') or die ("erreur de connexion");
mysql_select_db('occas',$db) or die ("erreur de connexion base");

$requete = mysql_query("SELECT id,modele,annee,kilometrage,couleur,description,prix,image from occasions");
print"<table>";
while ($resultat = mysql_fetch_array($requete))
{print "<table border=1 width=20 bordercolor=#008000>
<tr>
<td><B>N°:  </B>$resultat[id]</td>
<td width=5><input type=\"checkbox\" name=\"choixid\" value=\"choix\" /></td>
</tr>
";
} print"</table>";
mysql_close();
?>

<form action="supprimer.php" name="choixid" method="GET">
<input type="submit" name="choix" value="Supprimer l'annonce" />
</form>


<?$db = mysql_connect('localhost','occas') or die ("erreur de connexion");
mysql_select_db('occas',$db) or die ("erreur de connexion base");
mysql_query("delete from occasions where id =' '");
mysql_close();
?>
</center></div>
</body>
</html>
-------------------

En fait, je voudrais que l'on puisse cocher une case à coté de l'id de l'annonce, puis cliquer sur le bouton supprimer l'annonce.

Alors tu as l'état des lieux au dessus. Ca peux marcher selon toi?
Par contre, je ne sais pas quoi mettre dans where id ='ICI'");
sur la ligne
mysql_query("delete from occasions where id =' '");

Après, dans l'ideal, il faudrait une alerte pour confirmer la suppression......

Répondre à ce message
 
 Re: prtoteger une page par mot de passe
Auteur: honolulu
((---.ipt.aol.com)
Date: 23-08-2002 10:09
 messages postés sur  la création de site internet [ msg ]
pourquoi tu veux faire compliqué avant même de savoir faire simple ???
>>>>>>>>>>>> fais ça d'abord...
"Date: 23/08/2002 00:17

et bien tu crées un input type="text" name="choix" et tu crées un script php qui va, si tu as bien un $id qui est égal à $choix, supprimer la ligne d'enregistrement contenant ce $id...
pour supprimer
$supprime="DELETE FROM ma_table WHERE $id='$choix'"; "

Répondre à ce message
 
 Re: prtoteger une page par mot de passe
Auteur: sylvain
((---.ipt.aol.com)
Date: 23-08-2002 11:23
 messages postés sur  la création de site internet [ msg ]
Si j'ai bien un i$d qui est égal à $choix ???
Bein j'en sais rien.
id, c'est un champ de ma table???

J'ai fait ca:
--------------------------

<HEADER>
<TITLE>supprimer une annonce</TITLE>
</HEADER>
<BODY> <div align="center"><center>
<form action="supprimer.php" name="choixid" method="GET">
<input type="TEXT" name="choix" value="Supprimer l'annonce" />
</form>

<?$db = mysql_connect('localhost','occas') or die ("erreur de connexion");
mysql_select_db('occas',$db) or die ("erreur de connexion base");
mysql_query($supprime="DELETE FROM occasions WHERE $id='$choix'");
mysql_close();
?>

</center></div>
</body>
</html>
-------------------------
ps: si je ne mets pas de parenthèse à
WHERE $id='$choix'");
Il me mets une parse error sur cette ligne.

Et avec le code du dessus
il m'affiche seulement le champ de texte contenant "supprimer l'annonce".

Tu as affaire à un crétin tu sais!!!

Répondre à ce message
 
 Re: prtoteger une page par mot de passe
Auteur: honolulu
((---.ipt.aol.com)
Date: 23-08-2002 11:35
 messages postés sur  la création de site internet [ msg ]
en html on dit <head> pas <header>.....


<form action="<?$PHP_SELF;?>" name="choix" method="post">
<input type="TEXT" name="choix" value="Supprimer l'annonce" />
</form>

<?
$db = mysql_connect('localhost','occas') or die ("erreur de connexion");
mysql_select_db('occas',$db) or die ("erreur de connexion base");
mysql_query="DELETE FROM occasions WHERE $id='$choix'";
mysql_close();
?>

Répondre à ce message
 
 Re: prtoteger une page par mot de passe
Auteur: sylvain
((---.ipt.aol.com)
Date: 23-08-2002 20:24
 messages postés sur  la création de site internet [ msg ]
J'ai essayé ce que tu m'as dit.

En fait, comme je te le disais dans mon precedent message, je ne comprends pas quand tu me dit
"si tu as bien un $id qui est égal à $choix"
Bein j'en sais rien.
id, c'est un champ de ma table (c'est celui qui s'incrémente tout seul)

J'ai acheté un bouquin que tu conseilles sur le php.

J'aimerai mieux pouvoir finir ce truc, et ensuite, faire les exercices du bouquin dans l'ordre pour apprendre normalement.


Bon week end

Répondre à ce message
 
 Re: prtoteger une page par mot de passe
Auteur: honolulu
((---.free.fr)
Date: 23-08-2002 20:36
 messages postés sur  la création de site internet [ msg ]
autant pour moi, il n'y a pas de $id :o((
c'est une bonne chose :o)) pour les bouquins.....
en fait si tu veux, tu dois afficher la liste de tous tes id donc 1,2,3,4,5 etc
mettons que tu veuilles virer le 3, tu tapes 3 dans l'input $choix qui va accueillir le n°, et à partir de là tu codes
<?
....connexion à ta base....
if (isset($choix)){ //si $choix est renseigné
$supprime="delete from ta_table where id='$choix'";
}
?>

Répondre à ce message
 
 Re: prtoteger une page par mot de passe
Auteur: sylvain
((---.ipt.aol.com)
Date: 26-08-2002 12:43
 messages postés sur  la création de site internet [ msg ]
Je m'en suis sorti avec:
----------------------------


<HEAD>
<TITLE>SUPPRIMER UNE ANNONCE</TITLE>
</HEAD>
<BODY> <div align="center"><center>

<?$db = mysql_connect('localhost','occas') or die ("erreur de connexion");
mysql_select_db('occas',$db) or die ("erreur de connexion base");

$requete = mysql_query("SELECT id from occasions");

if ($id_a_supprimer) {
mysql_query("DELETE from occasions where id=$id_a_supprimer") or die ("impossible");

print "<B>Annonce effacée !!!</B>";
mysql_close();
exit;
}

print "<table border=2 width=300 bordercolor=#FF0000>";
print '<form>';
while ($resultat = mysql_fetch_array($requete))
{
print "
<tr>
<td><B>N°:  </B>$resultat[id]<br></td>
<td rowspan=1 width=200><B><input type=\"checkbox\" name=\"id_a_supprimer\" value=\"$resultat[id]\" />  Sélectionner l'annonce </td>
</tr>
";

}

print '<input type="submit" name="EFFACER" value="Supprimer">';
print '</form>';
print"</table>";

mysql_close();
?>
<br>
<p><font color="#FF0000">Cochez une case avant de cliquer sur le bouton supprimer</font></p>

</center></div>
</body>
</html>

Répondre à ce message
 
 Re: prtoteger une page par mot de passe
Auteur: honolulu
((---.free.fr)
Date: 26-08-2002 13:53
 messages postés sur  la création de site internet [ msg ]
et moi je dis bravo :o))

Répondre à ce message
 
 Re: prtoteger une page par mot de passe
Auteur: sylvain
((---.ipt.aol.com)
Date: 03-09-2002 17:28
 messages postés sur  la création de site internet [ msg ]
Pour l'histoire du mot de passe. si quelqu'un veux ré-utiliser ce truc, voila comment ca marche.

Ceci suppose que vous voulez avoir une page ou on accède par un mot de passe que le visiteur vous a demandé par e-mail par exemple:



Dans cet exemple, le mot de passe est: motdepasse

le header(" location:nomdelapageoul'ondoitarriver.php");
-----------------------------------
<?
if (isset($go)){
if ($mp=="motdepasse")
{
header("location:insererdiag.php");
}
else {
echo "<H4> Ce n'est pas le bon mot de passe !<H4>";
}
}
?>
<html>
<body>
<form name="formmdp" method="post" action="<?$PHP_SELF;?>"><br><br><br><br>
<p align="center">Pour pouvoir acceder à catte page<br>
Saisissez votre mot de passe :<br>
<input type="text" name="mp">
<input type="submit" name="go" value="Valider">
<br>
</p>
</form>
</body>
</html>

-------

sylvain: le nulos qui aide les nulos, faut se serrer les coudes

Répondre à ce message
 Retour Site Honolulu  |  Liste des Forums    

 Liste des Forums  |  Nouvel utilisateur ? Enregistrez-vous ici 
 Connexion
 Nom d'utilisateur:
 Mot de passe:
 Enregistrer mon profil:
   
 Mot de passe perdu ?
Écrivez votre adresse Email ou votre Identifiant ci-dessous et un nouveau mot de passe sera envoyé sur l'Email lié à votre profil.
phorum.org
Honolulu : apprendre le html et le javascript