[RESOLU] Formulaire dans un fichier texte

Shadors
Invité n'ayant pas de compte PHPfrance

29 mai 2013, 21:58

Bonjours, je voudrais simplement avoir de l'aide pour copier les résultats d'un formulaire dans un ficher texte en cryptant le mot de passe. Pour l'instant je bloque ici:
Ma page avec le formulaire
<form action="inscription.php" method="post">
<label>Pseudo: <input type="text" name="pseudo"/></label><br/>
<label>Mot de passe: <input type="password" name="mdp"/></label><br/>
<input type="submit" value="M'inscrire"/>
</form>
Ma page PHP
<?php
if (!empty($_POST['pseudo']) && !empty($_POST['mdp'])) 
{
   $pass_crypte = crypt($_POST['mdp']); 
    file_put_contents("hobs.txt", $pseudo .';'. $pass_crypte ."\r\n" ,FILE_APPEND);
}
?>
le nom du fichier php: inscription.php
le nom du fichier texte: hobs.txt

Merci de votre aide

Eléphant du PHP | 56 Messages

29 mai 2013, 22:39

bonsoir,
Quelque chose de comme ça.
<?php
$pseudo = 'J-oxi';
$pass = 'test';
// cryptage du pass
$pass_crypte = '????';
$File = 'fichier.txt';
$Mode = 'a';
$Content = $pseudo .';'. $pass_crypte."\n";
/*
r : Ouvre un fichier en lecture seule, place le pointeur en début de fichier.
r+ : Ouvre le fichier en lecture et écriture, place le pointeur en début de fichier.
w : Ouvre un fichier en écriture seule, place le pointeur en début de fichier. 
Si le fichier existe déjà, son contenu est écrasé, dans le cas contraire il crée le fichier (w pour write).
w+ : Ouvre le fichier en mode lecture et écriture, place le pointeur au début du fichier. 
Si le fichier existe déjà, son contenu est écrasé, dans le cas contraire, il crée le fichier.
a : Ouvre le fichier en écriture seule, place le pointeur à la fin du fichier. Si le fichier n'existe pas, on tente de le créer (a pour append).
a+ : Ouvre le fichier en mode lecture et en écriture, place le pointeur à la fin du fichier.
Si le fichier n'existe pas, on tente de le créer.
*/
$fp=fopen($File, $Mode); //ouverture du fichier. 
$w = fwrite($fp,$Content); // insert le texte.
if(!empty($w)){
echo "Fichier écrit";
} else {
echo "Erreur écriture";
}
fclose($fp); // fermeture du fichier.
?>


Shadors
Invité n'ayant pas de compte PHPfrance

30 mai 2013, 09:03

Un fois le code fais, je doit remplacer les mot: J-oxi et test par:
$pseudo = $_POST['login'];
$pass = $_POST['pass'];
Une derniere question tout de même, a quoi servent les points d'interrogation dans le $pass_crypte ?

Mammouth du PHP | 1967 Messages

30 mai 2013, 09:10

à toi de remplacer ces ??? par la fonction de cryptage que tu veux utiliser
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Shadors
Invité n'ayant pas de compte PHPfrance

30 mai 2013, 09:16

C'est fait, j'ai donc remplacé:
<?php
$pseudo = $_POST['login'];
$pass = $_POST['pass'];
// cryptage du pass
$pass_crypte = crypt($_POST['pass']);
$File = 'hobs.txt';
$Mode = 'w+';
$Content = $pseudo .':'. $pass_crypte."\n";
/*
r : Ouvre un fichier en lecture seule, place le pointeur en début de fichier.
r+ : Ouvre le fichier en lecture et écriture, place le pointeur en début de fichier.
w : Ouvre un fichier en écriture seule, place le pointeur en début de fichier.
Si le fichier existe déjà, son contenu est écrasé, dans le cas contraire il crée le fichier (w pour write).
w+ : Ouvre le fichier en mode lecture et écriture, place le pointeur au début du fichier.
Si le fichier existe déjà, son contenu est écrasé, dans le cas contraire, il crée le fichier.
a : Ouvre le fichier en écriture seule, place le pointeur à la fin du fichier. Si le fichier n'existe pas, on tente de le créer (a pour append).
a+ : Ouvre le fichier en mode lecture et en écriture, place le pointeur à la fin du fichier.
Si le fichier n'existe pas, on tente de le créer.
*/
$fp=fopen($File, $Mode); //ouverture du fichier.
$w = fwrite($fp,$Content); // insert le texte.
if(!empty($w)){
echo "Fichier écrit";
} else {
echo "Erreur écriture";
}
fclose($fp); // fermeture du fichier.
?>
Dans les lettre a écrire pour le mode aucune ne me propose d'écrire en sautant une ligne a chaque fois que je fait le formulaire j'obtiens tous sur la même. Pourrai-t-on régler cela ?

Shadors
Invité n'ayant pas de compte PHPfrance

30 mai 2013, 09:34

C'est fait, j'ai donc remplacé:
<?php
$pseudo = $_POST['login'];
$pass = $_POST['pass'];
// cryptage du pass
$pass_crypte = crypt($_POST['pass']);
$File = 'hobs.txt';
$Mode = 'w+';
$Content = $pseudo .':'. $pass_crypte."\n";
/*
r : Ouvre un fichier en lecture seule, place le pointeur en début de fichier.
r+ : Ouvre le fichier en lecture et écriture, place le pointeur en début de fichier.
w : Ouvre un fichier en écriture seule, place le pointeur en début de fichier.
Si le fichier existe déjà, son contenu est écrasé, dans le cas contraire il crée le fichier (w pour write).
w+ : Ouvre le fichier en mode lecture et écriture, place le pointeur au début du fichier.
Si le fichier existe déjà, son contenu est écrasé, dans le cas contraire, il crée le fichier.
a : Ouvre le fichier en écriture seule, place le pointeur à la fin du fichier. Si le fichier n'existe pas, on tente de le créer (a pour append).
a+ : Ouvre le fichier en mode lecture et en écriture, place le pointeur à la fin du fichier.
Si le fichier n'existe pas, on tente de le créer.
*/
$fp=fopen($File, $Mode); //ouverture du fichier.
$w = fwrite($fp,$Content); // insert le texte.
if(!empty($w)){
echo "Fichier écrit";
} else {
echo "Erreur écriture";
}
fclose($fp); // fermeture du fichier.
?>
Dans les lettre a écrire pour le mode aucune ne me propose d'écrire en sautant une ligne a chaque fois que je fait le formulaire j'obtiens tous sur la même. Pourrai-t-on régler cela ?

C'est résolu

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

30 mai 2013, 09:35

Modération :
Puisque ta question est résolue, je l'indique en cliquant sur le bouton "Mettre le sujet en tant que Résolu" pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.

Tu peux réaliser cette opération toi-même en cliquant sur le bouton vert situé en haut de la page à côté du titre, si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)
Il en faut peu pour être heureux ......