Enregistrement automatique

Le premier forum francophone sur l'éditeur de pages Web multiplateforme (Linux, Mac OS X, Windows) qui monte… KompoZer, héritier de Nvu, permet de créer vos pages Web graphiquement (wysiwyg) sans aucune connaissance du langage HTML.

Modérateur : chinon37

Lacide
Arias
Messages : 2
Inscription : 26 mars 2007, 15:32

Enregistrement automatique

Message par Lacide »

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)
La vie est un long fleuve tranquille. Et puis, un jour l'informatique est arrivé... xD
Fabrice.Tres.Net
Tyrannosaurus Rex
Messages : 2390
Inscription : 26 juin 2006, 12:50

Message par Fabrice.Tres.Net »

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.

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;
Lacide
Arias
Messages : 2
Inscription : 26 mars 2007, 15:32

Message par Lacide »

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 :

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>
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 :D
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
Fabrice.Tres.Net
Tyrannosaurus Rex
Messages : 2390
Inscription : 26 juin 2006, 12:50

Message par Fabrice.Tres.Net »

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:

Code : Tout sélectionner

function AfficherTexte($texte)
{
echo "<strong>$texte</strong>";
}
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

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.
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Fabrice.Tres.Net
Tyrannosaurus Rex
Messages : 2390
Inscription : 26 juin 2006, 12:50

Message par Fabrice.Tres.Net »

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 :

Code : Tout sélectionner

AjouterDonnees($Inscrits, $donnees_brut);
exit;
par

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;
Si on met tout cela en 1 seul morceau le contenu de AjouterDonnees.php devient :

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" />
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,...
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Semrush [Bot] et 1 invité