j'ai une page inscript.html : page d'enregistrement avec un formulairequel est le code php pour tester avant de faire un ajout, si le login choisi n'existe pas déjà dans le fichier .txt
voici un bout de code commencé :Est-ce que tu as commencé à faire un bout de code pour essayer d'obtenir le résultat voulu, code qu'on pourrait corriger éventuellement, ou bien tu espère qu'on va te sortir un code tout fait ?
<?
$log=$_POST["log"];
$pass=$_POST["pass"];
$categorie=$_POST["categorie"];
if (($log_b==$log)){
echo "Login existant";
}else{
if($categorie= "professionnel"){
if(isset($_POST["log"]) && isset($_POST["pass"])){
$fichier=fopen("pro.txt","a");
$info= $_POST["log"] .":" . $_POST["pass"] . ";";
$contenu= fread($fichier, filesize("pro.txt"));
$info=$info . $contenu;
fwrite($fichier, $info);
fclose($fichier);
header("Location: index.html");
}
}
}
?>
Voilà un morceau de code que j'ai fait il faut savoir qu'il y a une liste déroulante dans le formulaire (deux choix possibles) et qu'une fois le code vérifié le login sera enregistré soit dans le fichier du premier choix ici professionnel ou dans le fichier du deuxième choix mais ce n'est pas là que je bloque<?php
$log = $_POST["log"];
$pass = $_POST["pass"];
$categorie = $_POST["categorie"];
if (($log_b == $log))
{
echo "Login existant";
}
else
{
if($categorie == "professionnel")
{
if(isset($_POST["log"]) && isset($_POST["pass"]))
{
$fichier = fopen("pro.txt","a");
$info = $_POST["log"] .":" . $_POST["pass"] . ";";
$contenu = fread($fichier, filesize("pro.txt"));
$info = $info . $contenu;
fwrite($fichier, $info);
fclose($fichier);
header("Location: index.html");
}
}
}
?>
Essaye déjà avec ça J'ai modifié mais j'ai besoin d'aide pour le début au niveau du test du login c'est là que je bloque!Il y a une erreur dans le second if() : l'opérateur de comparaison, c'est "==" et non "=":Essaye déjà avec ça<?php $log = $_POST["log"]; $pass = $_POST["pass"]; $categorie = $_POST["categorie"]; if (($log_b == $log)) { echo "Login existant"; } else { if($categorie == "professionnel") { if(isset($_POST["log"]) && isset($_POST["pass"])) { $fichier = fopen("pro.txt","a"); $info = $_POST["log"] .":" . $_POST["pass"] . ";"; $contenu = fread($fichier, filesize("pro.txt")); $info = $info . $contenu; fwrite($fichier, $info); fclose($fichier); header("Location: index.html"); } } } ?>
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.D'abord la question n'est pas là, il utilise un fichier texte, ce n'est pas vraiment un problème : là où ça coince, c'est dans la logique de programmation.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 ?
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 mettreLa première chose qu'il faut voir, c'est que tu as une variable qui est utilisée avant d'être définie:À quoi correspond donc $log_b : en répondant à cette question, tu vas à mon avis faire une grande avancée vers la résolution.if (($log_b == $log))
C'est une question de logique: chaque opération doit avoir lieu à un moment précis, avant certaines autres, après certaines autres encore.
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 existantPose-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...
je ne fais pas de base de données et pour le fichier text les infos récupérées sont écrit en lignescomment 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 ?