Formulaire et fichier txt

[Résolu]
Signaler
Messages postés
20
Date d'inscription
vendredi 28 avril 2006
Statut
Membre
Dernière intervention
13 mars 2013
-
Messages postés
20
Date d'inscription
vendredi 28 avril 2006
Statut
Membre
Dernière intervention
13 mars 2013
-
Bonjour et bonne années a tous et toutes.

Je voudrai integrer un formulaire de contact a mon site qui permettrai a mes visiteurs de me laisser leur nom,message et email et qui integrerai directement la date et l'heure.
Je possede un serveur dédié ubuntu sous lequel j'ai installer lampp et je penser au debut envoyer les données par email mais j'ai laisser tomber car je ne souhaite rien installer de plus (j'ai deja des serveurs jeux et teamspeak dessus et je ne voudrai pas qu'ils en patissent).
Je me suis donc orienter vers une solution formulaire et fichier txt (qui en faite es plutot un fichier html) qui devrai etre rempli une fois le formulaire validé (et que je compte cacher via un htaccess ou autre pour etre le seul a visualiser le contenu qui ne regarde personne d'autre).

Voici donc mes codes :
<hr size="2" width="100%" />Formulaire.html
<form method=post action=ecrire.php>
    ----

        Nom : ,
            &nbsp;(Nom),
   
    ----

        E-Mail : ,
       
            &nbsp;(E-Mail adresse),
   
    ----

        Sujet
            : ,
        ,
   
    ----

        Remarques : ,
        <textarea name="Comment"
             rows="5" cols="35"></textarea>,
   
    ----

       
           
            ,
   
</form>
<hr size="2" width="100%" />ecrire.php
<?php
/* si register_globals off (à partir de PHP 4.3)*/
$commentaire = $_POST['commentaire'];
$ladate=date("d/m/Y");
$lheure=date("H:i");
$Comment= $_POST['Comment'] ;
$sender = $_POST['sender'] ;
$email = $_POST['email'] ;
$title = $_POST['title'] ;
if ($commentaire!="")
    {
    /* Ecriture avec ouverture de fichier en mode a+*/
/* mode a+
pour écrire à la suite des caractères
déjà présents dans le fichier
*/
/* mode w+
pour effacer les données présentes
et écrire dans le fichier.
Si ce fichier n'existe pas il est créé.
*/

$ouvre=fopen("messages.html","a+"); // ouverture en lecture ( a+)
fwrite($ouvre," Message poster par ");
fwrite($ouvre,$sender); 
fwrite($ouvre," le ");
fwrite($ouvre,$ladate);   
fwrite($ouvre," a ");
fwrite($ouvre,$lheure);
fwrite($ouvre,"
");
fwrite($ouvre," Sujet :  ");
fwrite($ouvre,$title);
fwrite($ouvre,"
");
fwrite($ouvre," Message :  ");
fwrite($ouvre,$Comment);
fwrite($ouvre,"
");
fwrite($ouvre,"
");
fwrite($ouvre," Contact :  ");
fwrite($ouvre,$email);
fwrite($ouvre,"
");
fwrite($ouvre,"
");  
fclose($ouvre);            // fermeture fichier
    }
?>
<hr size="2" width="100%" />Hélas je ne sait pour quelle raison, mon fichier messages.html reste vierge :(
Je pense que ca doit etre asser bete mais je ne m'y connait pas suffisament pour trouver l'erreur.
Merci par avance d'avoir eut la patiente de me lire :)

2 réponses

Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Salut,

Déjà :
<form method= post action=ecrire.php>
=>
<form method="post" action="ecrire.php">

Ca ne fonctionne pas parce que $_POST['commentaire'] n'est jamais définie.
$commentaire $_POST['commentaire'];> à virer

if ($commentaire!="")
=>
if ($Comment != "")

Et puis :
fwrite($ouvre," Message poster par ");
fwrite($ouvre,$sender); 
fwrite($ouvre," le ");
fwrite($ouvre,$ladate);   
fwrite($ouvre," a ");
fwrite($ouvre,$lheure);
fwrite($ouvre,"
");
fwrite($ouvre," Sujet :  ");
fwrite($ouvre,$title);
fwrite($ouvre,"
");
fwrite($ouvre," Message :  ");
fwrite($ouvre,$Comment);
fwrite($ouvre,"
");
fwrite($ouvre,"
");
fwrite($ouvre," Contact :  ");
fwrite($ouvre,$email);
fwrite($ouvre,"
");
fwrite($ouvre,"
");

=>
$str = 'Message posté par '.$sender.' le '.$ladate.' à '.$lheure.'
... blabla
fwrite($ouvre, $str);
... plus rapide et, pour moi, plus lisible

Cordialement,

Kohntark -
Messages postés
20
Date d'inscription
vendredi 28 avril 2006
Statut
Membre
Dernière intervention
13 mars 2013

Salut Kohntark et merci pour cette reponse :)
En effet j'avais tester d'ajuster a mon besoin un script existant et effectivement en te lisant je me suis rendu compte de l'erreur "if ($commentaire!="")" qui corresponder au script de base et que je n'es pas penser a modifier :( (la honte lol).
Pour ce qui es des lignes $str = 'Message posté par '.$sender.' le '.$ladate.' à '.$lheure.'
... blabla
fwrite($ouvre, $str);  elles me créent une erreur, mais je vais chercher un peu plus sur la facon d'ecrire en php :)

En tout cas, ta réponse me convient puisque en ayant modifier le début du script, il fonctionne a merveille.Un grand merci a toi.