Enregistrement automatique
Modérateur : chinon37
Enregistrement automatique
Bonjour,
Voilà je crée un site que je n'ai pour l'instant pas l'intention de publier, mais une dizaine de personne vont le consulter comme si s'en était un.
Les pages sont enregistrés dans des dossiers soigneusement crées pour l'occasion.
Ce que je voudrais, c'est créer un page de formulaire. Et au lieu de l'envoyer par mail (vous comprenez pourquoi), je voudrais que les données remplies par l'utilisateur soit enregistré automatiquement dans un fichier texte ou autre (ça m'est égal).
Y aurait-il une solution ?
Merci d'avance pour vos réponses
Message envoyé avec : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Voilà je crée un site que je n'ai pour l'instant pas l'intention de publier, mais une dizaine de personne vont le consulter comme si s'en était un.
Les pages sont enregistrés dans des dossiers soigneusement crées pour l'occasion.
Ce que je voudrais, c'est créer un page de formulaire. Et au lieu de l'envoyer par mail (vous comprenez pourquoi), je voudrais que les données remplies par l'utilisateur soit enregistré automatiquement dans un fichier texte ou autre (ça m'est égal).
Y aurait-il une solution ?
Merci d'avance pour vos réponses
Message envoyé avec : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
La vie est un long fleuve tranquille. Et puis, un jour l'informatique est arrivé... xD
-
- Tyrannosaurus Rex
- Messages : 2390
- Inscription : 26 juin 2006, 12:50
Bien sûr que c'est possible. Tu as besoin pour cela d'avoir accès à un langage côté serveur comme php.
Voici un exemple très simplifié d'un traitement php côté serveur.
Voici un exemple très simplifié d'un traitement php côté serveur.
Code : Tout sélectionner
function AjouterDonnees($fichier, $data)
{
$fd = fopen($fichier, "a+");
if ( !$fd ) {
AfficherTexte ("Probleme Acces: $fichier");
AfficherTexte ("Inscription non faite");
exit;
}
fputs($fd, $data_pilote);
fclose($fd);
}
// ---------------------------------------------------------- debut prg principal ----
$Inscrits = "./Inscrits.log"; // fichier recevant les données
$bouton = $_POST['envoyer']; // test usage du bouton d'envoi du formulaire html
if(!empty($bouton)) { // test usage du formulaire
foreach($_POST as $cle => $champ) {
if ($cle != 'envoyer') {
$donnees_brut .= .$champ . ';';
}
}
AjouterDonnees($Inscrits, $donnees_brut);
exit;
D'accord. Merci d'avoir répondu. Mais je ne comprends pas bien ce que je dois faire avec ce code. Je l'insère dans la section "insérer du code PHP" sous kompozer mais elle n'a aucun effet.
Voici comment se présente le code de ma page HTML :
Comme tu peux le voir, j'ai donner en référence à mon code le php que tu m'as fourni mais ça ne marche pas...
Et comment mettre un chemin d'arrivée à ce qui sera enregistré ?
Merci encore
Message envoyé avec : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Voici comment se présente le code de ma page HTML :
Code : Tout sélectionner
<html><head><meta
id="_moz_prolog" content=""><meta id="_moz_prolog"
content=""><meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type"><title>session1</title></head>
<body
style="background-image: url(file:///P:/image3.GIF); background-position: center; background-attachment: fixed; background-repeat: no-repeat;">
<fieldset>
<legend>Session1</legend>Pour faire partie de la session 1, entrez votre nom<br><br><div
align="center">
<form method="post" action="AjouterDonnees.php"><input
name="subject" value="AjouterDonnees" type="hidden">
<table><tbody><tr><td>Votre
Nom:</td> <td><input name="realname" size="30"
type="text"></td></tr>
<tr><td>
Votre Email:</td> <td><input
name="email" size="30" type="text"></td></tr>
<tr><td>
Sujet:</td> <td><input name="title"
size="30" type="text"></td></tr>
<tr><td colspan="2">
Commentaires:<br> <textarea
cols="50" rows="6" name="comments"></textarea>
</td></tr></tbody></table><br>
<input
value="Envoyer" type="submit"> - <input
value="Annuler" type="reset">
</form></div>

Merci encore

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
La vie est un long fleuve tranquille. Et puis, un jour l'informatique est arrivé... xD
-
- Tyrannosaurus Rex
- Messages : 2390
- Inscription : 26 juin 2006, 12:50
Tu mets le code que je t'ai donné dans le fichier AjouterDonnees.php !
Tu peux le faire simplement avec Notepad, il existe Notepad++ qui est un éditeur presque aussi simple mais bien plus adapté pour la programmation.
Si tu as gardé la fonction AfficherTexte, il faut la créer , par exemple:
Tu peux le faire simplement avec Notepad, il existe Notepad++ qui est un éditeur presque aussi simple mais bien plus adapté pour la programmation.
Si tu as gardé la fonction AfficherTexte, il faut la créer , par exemple:
Code : Tout sélectionner
function AfficherTexte($texte)
{
echo "<strong>$texte</strong>";
}
Bonjour
Ceci est-il la page de code ou le résultat obtenu dans le navigateur?
Si la deuxième version est la bonne, c'est tout à fait normal. Le code PHP est exécuté sur le serveur et n'est pas visible directement dans le navigateur.
Ceci dit, je pense que la réponse intéressante de Lacide mériterait plus d'explications sur l'endroit où doit se trouver ce code.
Ceci est-il la page de code ou le résultat obtenu dans le navigateur?
Si la deuxième version est la bonne, c'est tout à fait normal. Le code PHP est exécuté sur le serveur et n'est pas visible directement dans le navigateur.
Ceci dit, je pense que la réponse intéressante de Lacide mériterait plus d'explications sur l'endroit où doit se trouver ce code.
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
-
- Tyrannosaurus Rex
- Messages : 2390
- Inscription : 26 juin 2006, 12:50
C'est vrai, clarifions les choses.
Le code html produit par Lacide est le formulaire, cela parait bon.
Les 2 bouts de code php que j'ai donnés sont à coller dans le même fichier, à savoir AjouterDonnees.php .
Les 2 fichiers, le fomulaire html et le fichier php, sont à transférer sur le serveur web.
En cliquant sur le bouton "Envoyer" du formulaire, les données seront transmises au serveur et donc au fichier AjouterDonnees qui sera exécuté localement sur le serveur.
Dans le code que j'ai donné, le navigateur de l'utilisateur ne reçoit quelque chose que si il y a un problème d'accès au fichier !!!
On peut transformer :
par
Si on met tout cela en 1 seul morceau le contenu de AjouterDonnees.php devient :
A noter que "?>" termine le php, rien n'empêche de mettre ensuite du html , on aurait pu en mettre également avant le début du php, et même alterner php, html, php, html,...
Le code html produit par Lacide est le formulaire, cela parait bon.
Les 2 bouts de code php que j'ai donnés sont à coller dans le même fichier, à savoir AjouterDonnees.php .
Les 2 fichiers, le fomulaire html et le fichier php, sont à transférer sur le serveur web.
En cliquant sur le bouton "Envoyer" du formulaire, les données seront transmises au serveur et donc au fichier AjouterDonnees qui sera exécuté localement sur le serveur.
Dans le code que j'ai donné, le navigateur de l'utilisateur ne reçoit quelque chose que si il y a un problème d'accès au fichier !!!
On peut transformer :
Code : Tout sélectionner
AjouterDonnees($Inscrits, $donnees_brut);
exit;
Code : Tout sélectionner
AjouterDonnees($Inscrits, $donnees_brut);
echo '<h1>TITRE DE MA PAGE</h1>
echo 'Bonjour<br />'
echo '<br />Vos Données ont été traitées correctement <br />
exit;
Code : Tout sélectionner
<? php // debut du php : obligatoire
function AfficherErreur($texte)
{
echo "<strong>$texte</strong>";
}
function AjouterDonnees($fichier, $data)
{
$fd = fopen($fichier, "a+");
if ( !$fd ) {
AfficherErreur ("Probleme Acces: $fichier");
AfficherErreur ("Inscription non faite");
exit;
}
fputs($fd, $data_pilote);
fclose($fd);
}
// ---------------------------------------------------------- debut prg principal ----
$Inscrits = "./Inscrits.log"; // fichier recevant les données
$bouton = $_POST['envoyer']; // test usage du bouton d'envoi du formulaire html
if(!empty($bouton)) { // test usage du formulaire
foreach($_POST as $cle => $champ) {
if ($cle != 'envoyer') {
$donnees_brut .= $champ . ';';
// les donnees sont concaténées avec le ";" comme séparateur entre 2 champs
}
}
echo '<h1>TITRE DE MA PAGE</h1>
echo 'Bonjour<br />'
echo '<br />Vos Données ont été traitées correctement <br />
// exit ; //exit en commentaire pour permettre l'affichage du logo
?>
<img alt="" src="/images/Mon-BeauLogo.gif" />
Qui est en ligne ?
Utilisateurs parcourant ce forum : Semrush [Bot] et 1 invité