Forum Clubic

Récupérer des infos d'un formulaire et les exploiter

Bonjour,
J’essaie de faire un qcm pour mon collège que vous pouvez trouver sur cette page: fabulon46.free.fr…
Je souhaiterai (et c’est là que j’ai grandement besoin d’aide) faire 2 choses:

  • Faire rentrer le nom, prénom, classe à l’élève qui passe le qcm.
  • Récupérer le score de son qcm
  • Mettre ces renseignements dans un fichier texte.

Le but est donc de faire passer une classe en même temps, et que les résultats aillent directement dans un fichier facile à lire!

Merci pour votre aide.
(ps: je précise que je ne maitrise pas du tout le html…)

Sécurité oblige, tu ne pourras pas faire écrire quelque chose à ton HTML dans un fichier texte , même avec du javascript
Surtout si tu veux que plusieurs écrivent à la fois dans le même fichier

Ce qu’il faut que tu fasses, c’est traiter tes réponses en php au niveau serveur.
Comme il s’agit uniquement de recopier dans un fichier des données en provenance du client, en récupérant une à une les informations de la variable $_POST.
Il faut pour cela que tu precises bien method=“post” dans la déclaration de ton form et que tu prennes la précaution de nommer les champs de ton formulaire

Et en plus, ton fichier texte, tu pourras le mettre au format csv
1 ligne par formulaire retourné, toutes les données à suivre sur la ligne, séparées par une virgule (ou un point-virgule)
Comme ça tu pourras récupérer non seulement le score, mais également le détail des réponses pour un retraitement plus poussé, avec excel, par exemple.

Bonjour, et merci pour votre réponse.
Tout d’abord, je n’ai pas précisé que ce qcm n’a pas vocation à être sur le web, mais plutôt sur un serveur. Cela élimine peut-être les questions de sécurité en écriture.
Concernant le fait que plusieurs écrivent à la fois, on pourrait peut-être créer un fichier pour chacun (en fonction de son nom par exemple)
Ensuite, et bien je dois dire que même si je comprends grosso modo tes explications, je n’ai pas les compétences pour les mettre en application…
Pourrais tu m’en dire un peu plus (voire bcp plus :p) ?

Le fait de travailler avec un serveur local ne change pas vraiment les choses en ce qui concerne l’écriture.
De toute manière, comme le fichier résultat doit être unique, le mieux est qu’il se situe au niveau du serveur, ce qui exclut une écriture directe par le navigateur client.

1- La première chose à faire est de contacter l’administrateur du serveur, pour s’assurer que le php (ou l’ASP) est bien utilisable sur sa machine, et se faire attribuer les droits pour pouvoir créer/remplir un fichier texte placé dans un endroit à déterminer en commun

2- Ensuite, déterminer comment le “correcteur” aura accès à ce fichier (http, ftp, réseau local …)

3- Modifier la page de QCM existante de manière à ce qu’elle puisse “envoyer” ses éléments (introduction de la balise <form …> et d’un bouton “envoyer”)

4- Ecrire le programme récepteur qui retranscrira les réponses dans le fichier texte

5- Vérifier l’accès aux réponses depuis la position “correcteur”

Si tu as d’autres questions, pas de problème

Le fichier résultat ne doit pas forcément être unique, on peut en faire un par élève par exemple.

Je vais pouvoir répondre à qqunes de tes questions, car l’admin réseau… c’est moi!
Hélas, je n’ai aucune compétence en html, php, mysql:(

1 - easyphp est installé sur le serveur, on s’en sert pour faire tourner un logiciel et pour l’intraweb.
2 - le correcteur peut avoir accés à un dossier partagé du réseau, avec les permissions lecture, ecriture, modification.
3 & 4- c’est là que ça se complique…
5- on n’en est vraiment pas là :wink:

1- Pas besoin de mysql si vous travaillez avec un fichier texte
2- Il faudra voir dans quelle mesure le programme php aura la visibilité sur le dossier partagé, mais c’est un problème annexe
Pour les points 3 et 4, ce n’est pas difficile à condition d’y aller pas à pas
J’ai des petits exemples simples et progressifs que je peux vous passer pour test. Il vous restera à y intégrer ce que vous avez déjà fait
Si ca t’intéresse, fais moi passer une adresse mail en Message Privé