Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sauver sur le serveur et envoyer les résultats d'un form en mél par PHP ?

9 réponses
Avatar
Don Guy Shot
Bonjour,

Je souhaiterais stocker les r=E9ponses =E0 un formulaire HTML dans un
fichier texte (chaque nouvelle validation du form sur une nouvelle
ligne d'un m=EAme fichier si possible) et en m=EAme temps envoyer par
m=E9l sur une adresse fixe les r=E9ponses, et tout ceci via une seule
validation sur le bouton d'envoi du formulaire.

Voici un exemple de formulaire que j'aimerais pouvoir traiter ainsi :
http://www.alomphega.com/questionnaires/ProjetAlomphega.html

Actuellement il n'y a aucun stock des informations sur le serveur, et
l'envoi se fait via le form action "mailto", ce qui ne fonctionne pas
partout... J'aimerai donc traiter ce genre de formulaire simplement en
faisant en sorte que le clic sur le bouton d'envoi m'envoie les
r=E9ponses sous forme de m=E9l par le PHP serveur, et en m=EAme temps
stocke ces m=EAmes informations dans un fichier texte dans le
r=E9pertoire du formulaire sur le serveur.

Auriez-vous une adresse o=F9 je pourrais trouver un exemple de ce genre
de chose svp ?

Merci,

9 réponses

Avatar
Sergio
Don Guy Shot a utilisé son clavier pour écrire :

Je souhaiterais stocker les réponses à un formulaire HTML dans un
fichier texte (chaque nouvelle validation du form sur une nouvelle
ligne d'un même fichier si possible) et en même temps envoyer par
mél sur une adresse fixe les réponses, et tout ceci via une seule
validation sur le bouton d'envoi du formulaire.

Voici un exemple de formulaire que j'aimerais pouvoir traiter ainsi :
http://www.alomphega.com/questionnaires/ProjetAlomphega.html

Actuellement il n'y a aucun stock des informations sur le serveur, et
l'envoi se fait via le form action "mailto", ce qui ne fonctionne pas
partout... J'aimerai donc traiter ce genre de formulaire simplement en
faisant en sorte que le clic sur le bouton d'envoi m'envoie les
réponses sous forme de mél par le PHP serveur, et en même temps
stocke ces mêmes informations dans un fichier texte dans le
répertoire du formulaire sur le serveur.

Auriez-vous une adresse où je pourrais trouver un exemple de ce genre
de chose svp ?



C'est la base du PHP ça ?
Pour stocker dans le fichier, tu l'ouvres en mode "a" (append) où tu
écris ce que tu veux dedans, pour l'envoyer par courrier, la fonction
mail() fait ça très bien...

La doc : http://www.php.net/manual/fr/

--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Avatar
Don Guy Shot
Sergio a écrit :
[..]
C'est la base du PHP ça ?



Oui, c'est aussi ce que je pense... Et c'est bien pour ça que je
demande sur ce forum si vous connaissez une adresse sur un exemple, car
je suppose que ça existe déjà tout fait tout prêt tout propre.

nb: je ne suis pas développeur PHP et n'espère pas le devenir.

Pour stocker dans le fichier, tu l'ouvres en mode "a" (append) où tu
écris ce que tu veux dedans, pour l'envoyer par courrier, la fonction
mail() fait ça très bien...



Oui, oui, ok pour le principe pas de problème... Mais pour la mise en
oeuvre suivant mon exemple plus haut je ne sais pas faire à partir de
rien, car si je sais composer avec ce qui existe, je ne sais pas
développer en PHP ad initio.

La doc : http://www.php.net/manual/fr/



Oui mais voilà : je ne suis donc pas déjà développeur PHP et je ne
compte pas non plus devenir développeur PHP, alors j'espére
simplement trouver un exemple tout fait pour l'adapter sur mon
formulaire.(*)
(*) au cas où je me serais mal exprimé >;P

Un lien svp ?

Ou un lien sur un didacticiel style "comment faire son formulaire en
PHP sans base de données" ?

Merci,
Avatar
Florian Sinatra
*Don Guy Shot* @ 18/10/2006 10:56 :
Sergio a écrit :
[..]
C'est la base du PHP ça ?



Oui, c'est aussi ce que je pense... Et c'est bien pour ça que je
demande sur ce forum si vous connaissez une adresse sur un exemple, car
je suppose que ça existe déjà tout fait tout prêt tout propre.

nb: je ne suis pas développeur PHP et n'espère pas le devenir.



Et nous on a des têtes de développeurs PHP ?

Oui, oui, ok pour le principe pas de problème... Mais pour la mise en
oeuvre suivant mon exemple plus haut je ne sais pas faire à partir de
rien, car si je sais composer avec ce qui existe, je ne sais pas
développer en PHP ad initio.



Ben c'est dommage.

Oui mais voilà : je ne suis donc pas déjà développeur PHP et je ne
compte pas non plus devenir développeur PHP,



J'ai pris note.

alors j'espére
simplement trouver un exemple tout fait pour l'adapter sur mon
formulaire.(*)



Tu veux du tout cuit, sans te fatiguer les méninges. Je verrai ce soir.

Un lien svp ?



* http://ch2.php.net/manual/fr/faq.html.php
* http://ch2.php.net/manual/fr/features.file-upload.php
* http://phpdebutant.org/article56.php
Avatar
Don Guy Shot
Florian Sinatra a écrit :
[..]

Et nous on a des têtes de développeurs PHP ?



Je n'en sais rien vu que vous n'avez pas branché votre webcam ;-P

> Oui, oui, ok pour le principe pas de problème... Mais pour la mise en
> oeuvre suivant mon exemple plus haut je ne sais pas faire à partir de
> rien, car si je sais composer avec ce qui existe, je ne sais pas
> développer en PHP ad initio.

Ben c'est dommage.



Oui.
D'un autre côté je sais faire d'autres choses, hein... ;-)

> Oui mais voilà : je ne suis donc pas déjà développeur PHP et je ne
> compte pas non plus devenir développeur PHP,

J'ai pris note.



"Très bien" (c'est la note)

> alors j'espére
> simplement trouver un exemple tout fait pour l'adapter sur mon
> formulaire.(*)

Tu veux du tout cuit, sans te fatiguer les méninges.



Non, je souhaite du code exemple pour me fatiguer les méninges
uniquement sur ce qui m'est utile sans avoir à apprendre une nouvelle
langue pour dire simplement "bonjour". C'est un crime de fainéantise ?
Alors oui, je revendique ce droit.

D'un autre côté il y a qq temps quand on me demandait un truc dans
mon domaine de compétence je ne comptais pas mes efforts pour
répondre correctement sans inonder le récipiendaire de mes
sarcastiques montées de frustration... Mais tout se perd visiblement
ma p'tite dame...

Je verrai ce soir.



Merci m'sieur; ya du mieux ;-P


> Un lien svp ?

* http://ch2.php.net/manual/fr/faq.html.php
* http://ch2.php.net/manual/fr/features.file-upload.php
* http://phpdebutant.org/article56.php



C'est déjà ça, on avance... ;-P

En tous cas merci pour la piste.
Mais : "peut mieux faire" ! >;P
Avatar
Pierre Goiffon
Don Guy Shot wrote:
Et nous on a des têtes de développeurs PHP ?



Je n'en sais rien vu que vous n'avez pas branché votre webcam ;-P



En fait vous n'êtes pas vraiment sur le bon forum : puisque votre
question concerne directement PHP, il faudrait vous tourner vers un
forum dédié comme fr.comp.lang.php.
Avatar
Sergio
Don Guy Shot avait prétendu :

Tu veux du tout cuit, sans te fatiguer les méninges.



Non, je souhaite du code exemple pour me fatiguer les méninges
uniquement sur ce qui m'est utile sans avoir à apprendre une nouvelle
langue pour dire simplement "bonjour". C'est un crime de fainéantise ?
Alors oui, je revendique ce droit.



Par exemple :

Dans mon formulaire que je récupère par :
<form method="post" action="sendmail.php">
...

Dans "sendmail.php" :
----
<?php
// Les champs du formulaire :
// NOM : Nom du gars
// EMAIL : Email
// URL : Site web
// PAYS : Pays ("Autres")
// OTHER : Autre pays
// COMMENT : Commentaire principal
//
// Personnaliser, là...
$to = '' ;
$site= 'nom du site' ;
$pagesaisie='mailme.php' ;
$pageaffiche='result.php' ;

$base = "http://". $_SERVER['HTTP_HOST'] . dirname
($_SERVER['PHP_SELF']) ."/" ;

function gotopage ($page,$vars="")
{
global $base ;
$h= "Location: " . $base . $page . $vars ;
header($h);
exit() ;
}
function clean($text, $lend)
{
$text=trim($text) ;
$text=strip_tags($text) ;
$text=htmlspecialchars($text) ;
if ($nolf) {
if (ereg("r",$from) || ereg("n",$from)){
die("Tentative d'embrouille?? :(");
}
}

$text = substr($text,0,$len) ;
return $text ;
}
function is_email($string)
{

/***************************************************************************************/
/* D'après Nicolas Wattelier (www.ScriptConcept.com), (Merci de garder
cette ligne)*/
/***************************************************************************************/

$count_length = strlen($string);

if ($count_length <= 7)
return false;

for ($i=0;$i<$count_length;$i++){
$string_working = substr($string, $i, 1);
if ($string_working == '@')
return true ;
}
return false ;
}

function erreur($mess)
{
global $pagesaisie ;
gotopage($pagesaisie,"?err=$mess") ;
}

// Début par là

$from=clean($_POST['EMAIL'],64,1) ;
$nom = clean(($_POST['NOM'])) ;
$pays= $_POST['PAYS'] ;
$comment= clean($_POST['COMMENT'],1024) ;
$other= clean($_POST['OTHER']) ;
$url=clean($_POST['URL']) ;

if (!is_email($from)) erreur ("$from : Email invalide") ;
if ($nom=='') erreur ('Nom vide') ;
if ($comment=='') erreur ('Pas de texte saisi') ;
if (substr($pays,0,5)=='Autre') $pays=$other ;

$ip=$_SERVER['HTTP_X_FORWARDED_FOR'] ;

if ($ip == '')
$ip = $_SERVER['REMOTE_ADDR'];

$ip = gethostbyaddr($ip) .' ('.$ip .')' ;
$ua = $_SERVER['HTTP_USER_AGENT'] ;

$msg = "Message de $nom ($from)n" ;
$msg .="Navigateur : $uanIP: $ipn" ;
$msg .="Son site: $urln" ;
$msg .= "Pays : $paysn" ;
$msg .= "-------------------------------------------------------n" ;
$msg .= $comment ;

$headers="From: $from" ;

mail ($to,"Message du formulaire de $site", $msg,$headers) ;

$msg=urlencode($msg) ;
gotopage($pageaffiche,"?mess=$msg") ;

?>
-------------------------
la page 'result.php' affiche le mail envoyé...
Pas de log dans un fichier, mais faut un peu que tu bosses !

--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Avatar
Don Guy Shot
Sergio a écrit :
[..]
Par exemple :

Dans mon formulaire que je récupère par :
<form method="post" action="sendmail.php">
...

Dans "sendmail.php" :
----
<?php


[..]
?>
-------------------------
la page 'result.php' affiche le mail envoyé...
Pas de log dans un fichier, mais faut un peu que tu bosses !



:-))

Merci beaucoup pour cet exemple Serge :-)
Je devrais effectivement maintenant pouvoir me débrouiller.

cdlt,
Avatar
Florian Sinatra
*Don Guy Shot* @ 18/10/2006 16:50 :
:-))

Merci beaucoup pour cet exemple Serge :-)
Je devrais effectivement maintenant pouvoir me débrouiller.



Plus besoin de moi alors :-P
Avatar
Don Guy Shot
Florian Sinatra a écrit :

*Don Guy Shot* @ 18/10/2006 16:50 :
> :-))
>
> Merci beaucoup pour cet exemple Serge :-)
> Je devrais effectivement maintenant pouvoir me débrouiller.

Plus besoin de moi alors :-P



Effectivement, mais merci pour toutes les bonnes pistes :-)

J'ai finalement adapté ceci :
http://www.salemioche.net/script-php-1.php

Et ça donne ça :
http://www.prodominium.fr/questionnaire.html

Merci encore à tous :)
cdlt,