formulaire XHTML + fichier texte

indianstyle
Invité n'ayant pas de compte PHPfrance

04 oct. 2010, 23:13

Bonjour,

je travaille actuellement sur un TP:

juste un formulaire avec un champ, lorsqu'on indique son nom, on fait envoyer et cela doit s'enregistrer ds un fichier texte.

Voici mon fichier XTML:

<html>
<head>
<title> exercice 7 </title>
</head>
<body>

<FORM METHOD="POST" ACTION="C:\wamp\www\bdd.txt">
saisir votre nom
<input type= nom name "">
<input type="submit" value= envoyer>
</body>

</FORM>

</html>


Mais lorsque je fais envoyer , mon fichier texte est toujours vide,

quelqun aurait une idée?

Merci

Mammouth du PHP | 19672 Messages

05 oct. 2010, 06:02

Salut,
le (X)HTML n'est pas un langage de programmation et ne peut pas écrire de fichiers.

Pour que ton fichier soit écrit, il faudrait que l'attribut action de ta balise <form> pointe vers une page écrite dans un langage capable de créer un fichier et d'écrire dedans les données récupérées. SI tu avais une page fichier.php par exemple, il te faudrait écrire le code PHP qui récupèrerait les informations qui arrivent via la super-globale $_POST (la méthode de ton formulaire est «post») et ensuite utiliser les fonctions fopen(), fwrite() et fclose() pour générer ton fichier texte.

Et au passage, je te signale que le XTML n'existe pas et qu'en XHTML, les balises et les attributs doivent être écrits en minuscule.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 13 Messages

05 oct. 2010, 08:20

oui mais quel syntaxe pour pointer vers mon fichier.txt?
form method=post action=C:/wamp/www/bdd.txt>
...
...
...
</form>

ça marche pas
,pourtant ça pointe et ça devrait écrire

Mammouth du PHP | 19672 Messages

05 oct. 2010, 09:13

Je viens de t'expliquer que non : le (X)HTML ne peut pas écrire sur quoique ce soit en dehors d'afficher des données à l'écran dans un navigateur.
Donc quelle que soit la syntaxe que tu voudras utiliser, l'écriture d'un ficher texte ne peut pas se faire en HTML, il faut passer par un langage de programmation coté serveur.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 13 Messages

05 oct. 2010, 14:01

Enoncé de l'exerce en question:

Créer un formulaire HTML permettant de saisir un pseudo et un commentaire. Stocker les messages dans un fichier texte et afficher (sur une autre page ou sur la même page) l'ensemble des contributions.

ViPHP
ViPHP | 5462 Messages

05 oct. 2010, 14:02

faut faire tes devoirs ? :roll:

Mammouth du PHP | 19672 Messages

05 oct. 2010, 14:03

Bon, ok. Le fait que tu mentionnes que c'est un TP me laisse à penser que tu es étudiant. Qu'est-ce que tu étudies au juste en dehors du HTML ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 13 Messages

05 oct. 2010, 14:37

la ba c'est dut HTML+ CSS
PHP
XTML
faut que je fasse en php alors?

Mammouth du PHP | 19672 Messages

05 oct. 2010, 14:43

C'est précisément ce que je t'explique depuis le début. le formulaire peut et doit rester en HTML, mais le traitement demandé (enregistrement en fichier texte) ne peut se faire qu'en langage serveur, donc ici PHP.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 13 Messages

05 oct. 2010, 14:48

ah ok , j'y voit plus clair maintenant :)
merci
donc le formulaire en HTML, un 2ème fichier en php pour écrire dans un fichier texte.
Quel syntaxe pour faire le lien entre le fichier HTML ET le fichier PHP?

Mammouth du PHP | 19672 Messages

05 oct. 2010, 14:53

:shock: Je sens que ça va être laborieux.... :-k

As-tu correctement saisi à quoi sert l'attribut « action » dans une balise <form> ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 13 Messages

05 oct. 2010, 14:58

eu...
c'est le chemin?

Mammouth du PHP | 19672 Messages

05 oct. 2010, 15:21

eu...
c'est le chemin?
Le chemin vers... ? Continue, sois précis et complet dans ta réponse. Si tu ne saisis pas ce principe de base, la suite va être horriblement compliquée et tu vas périodiquement faire une erreur sans en comprendre la raison.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 13 Messages

05 oct. 2010, 15:25

ba c'est la ou ça doit pointer vers le fichier.php
enfin logiquement

Mammouth du PHP | 19672 Messages

05 oct. 2010, 15:32

C'est l'url vers laquelle seront envoyées les données lors de la soumission du formulaire, que ces données y soient traitées ou non.

Est-ce que c'est plus clair maintenant comme ça ?

Autre point : j'ai dit que le formulaire devait être en HTML comme on te l'a demandé : mais la page du formulaire peut être un fichier PHP : n'oublie pas que le php est exécuté coté serveur et envoie vers le navigateur des données que ce dernier est (ou non selon le cas) capable d'interpréter. Aucune exécution de PHP ne se fera dans le navigateur. Par contre si PHP envoit du HTML au navigateur, le HTML sera parfaitement compris et interprété et le contenu sera affiché.

Donc, partant de ce principe, on pourrait avoir pour action l'url de la page du formulaire lui-même : mais le début du fichier devrait alors tester la présence de données POST-DATA afin d'effectuer un traitement avant d'afficher à nouveau ou non le formulaire. Mais rien n'interdit d'avoir le formulaire sur une page et le traitement sur une autre. Pour l'instant dans ton cas, il est peut-être préférable d'utiliser cette dernière option, tu te mélangeras moins les pinceaux.

Maintenant, selon toi, qu'est-ce qu'on va trouver dans le ficher PHP de traitement des données ? Essaye d'établir une liste des éléments indispensables.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: