mot de passe

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : mot de passe

par Tictac » 17 janv. 2006, 22:47

:arrow: http://be2.php.net/feof

tant qu'il n'est pas à la fin du fichier il le lit !! en gros c'est que ca veut dire !

par Invité » 17 janv. 2006, 22:35

il te faut un code de ce type là
$ok = "ok";
$fh = fopen("ton fichier.txt", "f");//ouvre le fichier en mode lecture
while (!feof($fh))//tu parcours le fichier dans toute sa longueur
{$ligne = fgets($fh);//Tu récupére la ligne
$nom=formatname($ligne);//Tu la formate s'il le faut pour avoir chaque partie de la ligne dans une variable différente
if ($nom[1] == $_POST['login'])//test pour trouver verifier que que le login n'existe pas deja
{echo "le login existe déja, veuillez en choisir un autre";$ok="no";}
}
fclose($fh);
if ($ok == "ok" )
{//insere ici les instruction que tu a pour ajouter le login/mot de passe dans ton fichier
}
ok par contre $ligne il faut le définir au début ou pas
c'est quoi dans la fonction while (!feof)?

par Invité » 17 janv. 2006, 21:51

c'est quoi la function formatname() ?
Un fonction qui sépare la ligne récupérer en différente variable selon un caractére de séparation

exemple

$ligne = "login,motdepasse"

avec formatname :

$ligne[1] = "login" et $ligne[2] = "motdepasse"
function formatname ($ligne)//fonction de formattage du nom de sauvegarde de la grille renvoi le nom de la grille en $ligne1 et le lien en $ligne2
{
	$ligne2 = substr(strrchr($ligne, '>'), 1);
	$n=strrpos($ligne,'>');
	$ligne1 = substr($ligne,0,$n);
	return array ("1" => $ligne1,$ligne2); 
}//fin de la fonction
C'est la fonction que j'utilise pour séparer deux valeurs séparer par un ">"
je te conseille de recupérer tout le contenu de ton fichier txt faire un explode(";",$contenu) puis mettre tout ca dans un array pour pouvoir faire un boucle de verification
C'est une autre possibilité

Spols
j'ai un problème avec formatname je ne comprend pas trop comment ça fonctionne

par Tictac » 17 janv. 2006, 21:27

formatname n'est pas une fonction existante dans php et comme tu n'affichait pas la fonction , je ne comprennais pas trop d'où ca venait lol

merci pour l'info ;)

par Spols » 17 janv. 2006, 21:18

c'est quoi la function formatname() ?
Un fonction qui sépare la ligne récupérer en différente variable selon un caractére de séparation

exemple

$ligne = "login,motdepasse"

avec formatname :

$ligne[1] = "login" et $ligne[2] = "motdepasse"
function formatname ($ligne)//fonction de formattage du nom de sauvegarde de la grille renvoi le nom de la grille en $ligne1 et le lien en $ligne2
{
	$ligne2 = substr(strrchr($ligne, '>'), 1);
	$n=strrpos($ligne,'>');
	$ligne1 = substr($ligne,0,$n);
	return array ("1" => $ligne1,$ligne2); 
}//fin de la fonction
C'est la fonction que j'utilise pour séparer deux valeurs séparer par un ">"
je te conseille de recupérer tout le contenu de ton fichier txt faire un explode(";",$contenu) puis mettre tout ca dans un array pour pouvoir faire un boucle de verification
C'est une autre possibilité

Spols

par Tictac » 17 janv. 2006, 21:13

c'est quoi la function formatname() ?
je te conseille de recupérer tout le contenu de ton fichier txt faire un explode(";",$contenu) puis mettre tout ca dans un array pour pouvoir faire un boucle de verification ;)

par Spols » 17 janv. 2006, 21:10

non ligne est défini pour chaque ligne du fichier par l'instruction
$ligne = fgets($fh)
Par contre ce type de code est prévu pour un fichier texte du type

login1,motdepasse
login2,motdepasse
...

avec le , qui depent de ta fonction formatname

Spols

par Invité » 17 janv. 2006, 21:08

il te faut un code de ce type là
$ok = "ok";
$fh = fopen("ton fichier.txt", "f");//ouvre le fichier en mode lecture
while (!feof($fh))//tu parcours le fichier dans toute sa longueur
{$ligne = fgets($fh);//Tu récupére la ligne
$nom=formatname($ligne);//Tu la formate s'il le faut pour avoir chaque partie de la ligne dans une variable différente
if ($nom[1] == $_POST['login'])//test pour trouver verifier que que le login n'existe pas deja
{echo "le login existe déja, veuillez en choisir un autre";$ok="no";}
}
fclose($fh);
if ($ok == "ok" )
{//insere ici les instruction que tu a pour ajouter le login/mot de passe dans ton fichier
}
ok par contre $ligne il faut le définir au début ou pas

par Invité » 17 janv. 2006, 21:05

ok mais de quel manière ?
ex:

login1:password1,login2:password2,....
oui sauf qu'à la fin de login1:password1; c'est un ;

par Spols » 17 janv. 2006, 21:02

il te faut un code de ce type là
$ok = "ok";
$fh = fopen("ton fichier.txt", "f");//ouvre le fichier en mode lecture
while (!feof($fh))//tu parcours le fichier dans toute sa longueur
{$ligne = fgets($fh);//Tu récupére la ligne
$nom=formatname($ligne);//Tu la formate s'il le faut pour avoir chaque partie de la ligne dans une variable différente
if ($nom[1] == $_POST['login'])//test pour trouver verifier que que le login n'existe pas deja
{echo "le login existe déja, veuillez en choisir un autre";$ok="no";}
}
fclose($fh);
if ($ok == "ok" )
{//insere ici les instruction que tu a pour ajouter le login/mot de passe dans ton fichier
}

par Tictac » 17 janv. 2006, 20:50

ok mais de quel manière ?
ex:

login1:password1,login2:password2,....

par Invité » 17 janv. 2006, 20:13

comment se presente les mots de passe dans ton fichier txt ?

et pourquoi ne passe tu pas par la base de donnée pour tes mots de passe ?
je ne fais pas de base de données et pour le fichier text les infos récupérées sont écrit en lignes

par Invité » 17 janv. 2006, 19:52

Pose-toi la question de l'odre logique des opérations:
-1- tu récupères la saisie de l'internaute;
-2- tu récupères les données du fichier;
-3- tu cherches dans les données du fichier une correspondance avec les données de l'internaute;

Jusque là, ça devrait te sembler cohérent.

Là où ça coince, c'est que ton code ne reflète pas cette logique puisque tu testes la correspondance avant d'avoir récupéré les données du fichier, enclair, tu fais l'opération 3 avant la 2.

CQFD... :-k
le test du login je dois le faire à la fin du code sauf que ce que je n'arrive pas à comprendre c'est que mon fichier text est vide pour commencer et que lorsque je test ce code il me met le message login existant

par Cyrano » 17 janv. 2006, 19:46

Pose-toi la question de l'odre logique des opérations:
-1- tu récupères la saisie de l'internaute;
-2- tu récupères les données du fichier;
-3- tu cherches dans les données du fichier une correspondance avec les données de l'internaute;

Jusque là, ça devrait te sembler cohérent.

Là où ça coince, c'est que ton code ne reflète pas cette logique puisque tu testes la correspondance avant d'avoir récupéré les données du fichier, enclair, tu fais l'opération 3 avant la 2.

CQFD... :-k

par Invité » 17 janv. 2006, 19:41

La première chose qu'il faut voir, c'est que tu as une variable qui est utilisée avant d'être définie:
if (($log_b == $log)) 
À quoi correspond donc $log_b : en répondant à cette question, tu vas à mon avis faire une grande avancée vers la résolution.

C'est une question de logique: chaque opération doit avoir lieu à un moment précis, avant certaines autres, après certaines autres encore.
pour $log_b c'était pour faire un test je sais je ne l'ai pas déclaré en haut mais je ne sais pas quoi mettre