creation de sites :

- php mot de passe

Site gratuit de petites annonces motos
occasions Yamaha
Autres messages sur des sujets similaires :
proteger une page par mot de passe
mot de passe
php et mysql
recuperer le code html d'un mot selecionné
php - mysql
Cours HTML / Javascript / PHP disponibles :
Apprendre PHP
Gestion de fichiers avec PHP
Envoi de mail avec PHP
Gestion de formulaires avec PHP



 Retour Site Honolulu  |  Nouveau sujet  |  Retour aux sujets  |  Chercher  |  Connexion    
 php mot de passe
Auteur: marc
((---.abo.wanadoo.fr)
Date: 30-08-2002 17:19
 messages postés sur  la création de site [ msg ]
Bonjour, je débute en PHP.
J'aimerais réaliser un Espace Membre.
J'ai commencé mais je bloque sur les conditions.
Dites-moi si déjà je suis dans le vrai ou pas.
J'ai un fichier (fonctions.inc) avec le code :
<body>
<?php
function form_login_member($action, $login_def, $pass_def, $sub_name, $reset_name, $login_txt, $pass_txt)
{
echo "<table>\n";
echo "<form action=\"$action\" method=\"post\" name=\"form_login_member\">\n";
echo "<tr>\n";
echo "<td>$login_txt</td>\n";
echo "<td><input type=\"text\" name=\"login\" size=20 maxlength=42></td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td>$pass_txt</td>\n";
echo "<td><input type=\"password\" name=\"pass\" size=20 maxlenght=12></td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td>\n";
echo "<input type=\"submit\" name=\"$sub_name\" value=\"Envoyer\">\n";
echo "<input type=\"reset\" name=\"$reset_name\" value=\"Annuler\">\n";
echo "</td>\n";
echo "</tr>\n";
echo "</form>\n";
echo "</table>\n";
}

?>
</body>


J'ai mon fichier (PHP) qui appelle le fichier (fonctions.inc):

<body>
<?php

include ("fonctions.inc");

$action = "membres.php"; //Lien vers lequel l'internaute se dirige si il a bien le bon login et le bon mot de passe.
$login_def = "renato"; //Définition du login.
$pass_def = "gr15ew31"; //Définition du mot de passe.
$sub_name = "Envoyer"; //Bouton Envoyer
$reset_name = "Annuler"; //Bouton Annuler
$login_txt = "Mettez votre nom :"; //Texte pour le mot Login
$pass_txt = "Mot de passe :"; //Texte pour mot de passe

form_login_member($action, $login_def, $pass_def, $sub_name, $reset_name, $login_txt, $pass_txt);

?>

</body>




Mais mon souci c'est que à ce stade même si je ne mets rien dans les champs et qu'on valide, on va quand même à la page suivante.

Il me faut une condition comme quoi c'est le bon login et le bon mot de passe.
Et là, c'est le brouillard.
Merci de votre aide. A + Marc

Répondre à ce message
 
 Re: php mot de passe
Auteur: honolulu
((---.free.fr)
Date: 30-08-2002 18:27
 messages postés sur  la création de site [ msg ]
salut,
ton script dirige les gens vers "membres.php" parce dans ton form tu as mis action="membres.php".... ici il vaut mieux mettre
pour action action="<?$PHP_SELF";?>"

et dans ton script mettre un truc du genre
<?
if ($login_txt==$login_def) && ($pass_txt==$pass_def)
{
echo "<a href='membres.php'>Vous pouvez accéder à la zone</a>";
}
else
{
echo "Accés refusé...";}
?>

cela dit, php permet de coder les mots de passe, car des mots de passe en clair comme ça...... sinon tu as aussi les htaccess...... j'ai fait un article là-dessus.......
A+

Répondre à ce message
 
 Re: php mot de passe
Auteur: honolulu
((---.free.fr)
Date: 30-08-2002 18:28
 messages postés sur  la création de site [ msg ]
tu ne manqueras pas de noter qu'il faut mettre une double parenthèse à la condition :
if (($login_txt==$login_def) && ($pass_txt==$pass_def))

Répondre à ce message
 
 Re: php mot de passe
Auteur: Lola
((---.abo.wanadoo.fr)
Date: 31-08-2002 16:07
 messages postés sur  la création de site [ msg ]
Quelle est le rôle de action="<?$PHP_SELF";?>" ?

Moi j'ai fait un <form method = post action = BP.php> dans un formulaire de saisie et dans BP.php je fais un traitement des données saisies (insert into etc...).
Mais je ne veux pas que l'utilisateur voit ce fichier apparaître (car ça fait apparaître une fenêtre blanche). Y'a t'il un moyen de traiter BP.php en invisible ? Ou alors faut'il tout simplement mettre un include au lieu d'un <form action=...> ?

Merci

Répondre à ce message
 
 Re: php mot de passe
Auteur: honolulu
((---.free.fr)
Date: 31-08-2002 19:48
 messages postés sur  la création de site [ msg ]
en fait quand tu mets action="<?$PHP_SELF;?>" tu fais appel au script php contenu dans la page même qui contient le formulaire... donc pour traiter ton fichier en "invisible" tu le mets directement dans la page de ton formulaire et tu l'appelles par $PHP_SELF
le fait de mettre action="traitement.php" dans ton formulaire va diriger ce même formulaire vers la page "traitement.php" justement pour y être....traité........
a+

Répondre à ce message
 
 Re: php mot de passe
Auteur: marc
((---.abo.wanadoo.fr)
Date: 02-09-2002 21:16
 messages postés sur  la création de site [ msg ]
Bonjour, je nage....

1 - Je ne comprends pas pourquoi tu mets la ligne :

echo "<a href='membres.php'>Vous pouvez accéder à la zone</a>";

Car normalement si c'est les bons "login et mot de passe" on file direct à la zone Membres. Autrement si on laisse ta ligne on est obligé de cliquer 2 fois en fait.
Une fois sur le bouton et une autre sur la ligne "Vous pouvez accéder...".

2 - De toute façons, j'ai un message d'erreur sur la ligne "else".

3 - Autrement j'ai mis ton <?$PHP_SELF";?>" dans mon fichier (inc) :
echo "<form action=\"$PHP_SELF\" method=\"post\" name=\"form_login_member\">\n";



4 - Je te mets le code du fichier (php).


<?

include ("fonctions.inc");

$login_def = "renato"; //Définition du login.
$pass_def = "gr15ew31"; //Définition du mot de passe.
$sub_name = "Envoyer"; //Bouton Envoyer
$reset_name = "Annuler"; //Bouton Annuler
$login_txt = "Mettez votre nom :"; //Texte pour le mot Login
$pass_txt = "Mot de passe :"; //Texte pour mot de passe

form_login_member($action, $login_def, $pass_def, $sub_name, $reset_name, $login_txt, $pass_txt);
?>
<?
//Si login_txt est strictement égal à login_def et si pass_txt est égal à pass_def.
//Alors vous pouvez accéder à la zone membres.
if (($login_txt==$login_def) && ($pass_txt==$pass_def));
{
echo "<a href='membres.php'>Vous pouvez accéder à la zone</a>";
}
else //Autrement
{
//L'accès vous est refusé.
echo "Accès refusé...";
}
?>



PS :

$pass_txt //Cette variable correspond aux mots "Mot de passe" visible à gauche du champ texte.

$pass_def //Celle-ci correspond au champ texte lui-même.


Comment on peut dire que $pass_txt==$pass_def alors que c'est 2 choses différentes (une ligne de texte écrite et un champ texte) ?

Comme tu vois c'est encore le brouillard.

A +

Répondre à ce message
 
 Re: php mot de passe
Auteur: lola
((---.abo.wanadoo.fr)
Date: 02-09-2002 22:28
 messages postés sur  la création de site [ msg ]
Mais moi, ce que je souhaite en fait, c'est que mon fichier de action=
soit traité en invisible tout en gardant DEUX fichiers distints. C'est à dire qu'il apparaisse un quart de seconde puis qu'on revienne au formulaire d'origine, ou qu'il n'apparaisse pas du tout, je ne sais pas ce qui est possible en php...
merci

Répondre à ce message
 
 Re: php mot de passe
Auteur: honolulu
((---.free.fr)
Date: 02-09-2002 23:51
 messages postés sur  la création de site [ msg ]
slt,
pour marc : oups, désolé, j'avais po vu la différence, je croyais qu'il s'agissait bien des champs à remplir ! une de tes erreurs, par contre :o)) c'est d'avoir mis un point-virgule aprés la condition !!
donc

<?
//Si login_txt est strictement égal à login_def et si pass_txt est égal à pass_def.
//Alors vous pouvez accéder à la zone membres.
if (($login==$login_def) && ($pass==$pass_def))
{
echo "<a href='membres.php'>Vous pouvez accéder à la zone</a>";
}
else //Autrement
{
//L'accès vous est refusé.
echo "Accès refusé...";
}
?>

pour action c'est <form action="<?$PHP_SELF;?>" method="post">

maintenant si tu veux pas voir de <a href='.....>....</a> parce que ça fait deux clics :o) et bien tu utilises un header.....

<?
$login_def = "renato"; //Définition du login.
$pass_def = "gr15ew31"; //Définition du mot de passe.
$sub_name = "Envoyer"; //Bouton Envoyer
$reset_name = "Annuler"; //Bouton Annuler
$login_txt = "Mettez votre nom :"; //Texte pour le mot Login
$pass_txt = "Mot de passe :"; //Texte pour mot de passe

if ($sub_name){//si on clique le bouton valider
if (($pass==$pass_def)&&($login==$login_def))
{header("location:membres.php");}
else {header("location:ailleurs.html");}
}
?>

pour lola,
pour revenir au formulaire d'origine, donc à la page d'origine aprés traitement, je pense pas qu'il y ait plusieurs possibilités. si j'étais toi, j'utiliserais javascript à la fin de mon script php
<?
...........
............
echo "<script language='javascript'>
history.go(-1);
</script>";
?>

Répondre à ce message
 
 Re: php mot de passe
Auteur: marc
((---.abo.wanadoo.fr)
Date: 03-09-2002 08:34
 messages postés sur  la création de site [ msg ]
Re_Bonjour,

Je repare à zéro avec tes indications. Avant tout dis-moi si j'ai raison.

Moi j'ai :

1 page (fonctions.inc) avec ce code :

<body>
<?php

function form_login_member($action, $login, $pass, $sub_name, $reset_name, $login_txt, $pass_txt)
{
echo "<table>\n";
echo "<form action="<?$PHP_SELF;?>" method="post">
echo "<tr>\n";
echo "<td>$login_txt</td>\n";
echo "<td><input type=\"text\" name=\"login\" size=20 maxlength=42></td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td>$pass_txt</td>\n";
echo "<td><input type=\"password\" name=\"pass\" size=20 maxlenght=12></td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td>\n";
echo "<input type=\"submit\" name=\"sub_name\" value=\"Envoyer\">\n";
echo "<input type=\"reset\" name=\"reset_name\" value=\"Annuler\">\n";
echo "</td>\n";
echo "</tr>\n";
echo "</form>\n";
echo "</table>\n";
}

?>
</body>
</html>



Une autre page (index.php) qui appelle la page "fonctions.inc" avec ce code :


<?
include ("fonctions.inc");
$login_def = "renato"; //Définition du login.
$pass_def = "gr15ew31"; //Définition du mot de passe.
$pass //Le champ de formulaire pour le password.
$login //Le champ de formulaire pour le login.
$sub_name = "Envoyer"; //Bouton Envoyer
$reset_name = "Annuler"; //Bouton Annuler
$login_txt = "Mettez votre nom :"; //Texte pour le mot Login
$pass_txt = "Mot de passe :"; //Texte pour mot de passe

if ($sub_name){//si on clique le bouton valider
if (($pass==$pass_def)&&($login==$login_def))
{header("location:membres.html");}
else {header("location:ailleurs.html");}
}
?>



Et 1 page "membres.html" si on a le bon mot de passe.

Et 1 page 'ailleurs.html" si on n'a pas le bon mot de passe.


Dans la page (index.php) où est-ce que je mets le code, entre les balises <body> où juste au-dessus du 1er <body>.

Allez on touche au but, courage...
A +

Répondre à ce message
 
 Re: php mot de passe
Auteur: honolulu
((---.free.fr)
Date: 03-09-2002 10:20
 messages postés sur  la création de site [ msg ]
re,
bon si tu veux vraiment partir de zéro (enfin :o)) commence par abandonner tes fonctions en anglais que t'as pas créees........ lol essaye ceci et rien que ceci :

<?
$login_def = "renato"; //Définition du login.
$pass_def = "gr15ew31"; //Définition du mot de passe.
if (isset($sub_name)){//si on clique le bouton valider
if (($pass==$pass_def)&&($login==$login_def))
{header("location:membres.html");}
else {header("location:ailleurs.html");}
}
?>
<html>
<body>
<form action="<?$PHP_SELF;?>" method="post">
<table>
<tr>
<td><input type="text" name="login" size=20 maxlength=42>
</td></tr>
<tr>
<td><input type="password" name="pass" size=20 maxlenght=12></td>
</tr>
<tr>
<td>
<input type="submit" name="sub_name" value="Envoyer">
<input type="reset" name="reset_name" value="Annuler">
</td>
</tr></table></form>
</body>
</html>

Répondre à ce message
 
 Re: php mot de passe
Auteur: marc
((---.abo.wanadoo.fr)
Date: 03-09-2002 12:08
 messages postés sur  la création de site [ msg ]
Allez te voilà débarrassé pour ce pu.... de mot de passe.

Sans abuser de ton temps, j'ai réalisé un formulaire avec récupération de données de l'internaute, tout baigne.

Mais en retour je me retrouve avec "httpd" dans ma boîte de réception Outlook Express :

De :httpd
Objet : Demandes de renseignements
Date : 02/09/02

C'est quoi ce httpd ?
Est-ce que je peux avoir le choix de mettre autre chose plus explicite ?
Encore merci pour ton aide et surtout ta patience.

On se cotisera à Noël pour ton cadeau.

A + Marc.

Répondre à ce message
 
 Re: php mot de passe
Auteur: honolulu
((---.free.fr)
Date: 03-09-2002 14:38
 messages postés sur  la création de site [ msg ]
pour le mot de passe, juste un truc : si qqn connaît l'adresse et tape un truc du genre http://tonsite.com/membres.php dans la barre d'adresse, rien dans ton script ne lui interdit d'y accéder !!!!! tu devras y ajouter des sessions........ c'est une autre histoire, mais pas si compliquée.....

pour le httpd, ça c'est un truc d'apache en théorie.. et les indiens et moi ça pas trop mon truc.... je rigole :o)) cela dit ça relève + de la config de outlook que d'autre chose, je pense, à moins que ton formulaire comporte des trucs spéciaux... faut voir...

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