|
Patrick 1119
| Posté : 03-11-2005 16:41
En plus de s'enregistrer dans un forum j'aimerais qu'un formulaire soit aussi envoyé par E-mail (en l'occurence à plusieurs personnes n'étant pas connues de mon site (non-membres).
Peut-on combiner ces 2 techniques, tout en ne validant qu'une seule fois le formulaire (un seul Submit pour 2 actions) ?
Merci pour vos lumières.
|  Profil www
|
|
developpeur 24581
| Posté : 03-11-2005 22:59
voui et assez simplement : en modifiant le script de soumission d'un topic et en y incorporant un envoi de mail (ce qui est déja fait pour les gens abonnnés au forum)
A suivre |  Profil E-mail www
|
|
Patrick 1119
| Posté : 04-11-2005 12:35
Merci Dev. Je vais tenter ça ce w-e et je soumettrai le code, cela pourrait intéresser un autre... novice |  Profil www
|
|
developpeur 24581
| |
Patrick 1119
| Posté : 05-11-2005 13:23
Aïe, ça marche pas.
Pour créer le formulaire de saisie dans le forum, pas de problème particulier et il se retrouve bien effectivement complété sur le forum.
Pour envoyer le mail, ça marche aussi... mais le corps du message reçu ne contient que le formulaire vide (sans les réponses faites)
Voici comment j'ai modifié mon fichier forum_extender :
/************************************************************************/
$sform_path="modules/sform/";
!include!_once($sform_path."sform.php");
global $m;
$m=new form_handler();
//********************
$m->add_form_title("Constat_Etat_Critique");
$m->add_form_method("post");
$m->add_form_check("false");
$m->add_mess(" * désigne un champ obligatoire ");
$m->add_submit_value("submitS");
$m->add_!url(!"newtopic.php");
/************************************************/
!include!($sform_path."forum/$formulaire");
/************************************************/
if( !isset($GLOBALS["submitS"]) ){
echo $m->print_form("class=\"LIGNA\"");
/***************** ici test début *******************************/
$m->make_response();
$message=$m->aff_response("white","not_echo","");
$message="<html><body>".$message."</body></h tml>";
send_email("adresse_une@exemple.be,adresse_deux@exemple.be", $m->title,$message,"","","html");
/***************** ici test fin *********************************/
} else {
$message=$m->aff_response("class=\"LIGNA\"","not_echo","");
}
?>
Il faut "regarnir" le formulaire une seconde fois pour l'envoi du mail ?
Et si oui je ne vois pas comment ????
|  Profil www
|
|
developpeur 24581
| Posté : 06-11-2005 21:37
ton code à l'aire bon mais il est dans la mauvaise partie du IF ... / met le en dessous du Else |  Profil E-mail www
|
|
Patrick 1119
| Posté : 11-11-2005 21:45
Ce n'était qu'une partie de la solution, Dev.
Après quelques autres déboires (et conduire)... E411, le site...
Voilà la solution que j'ai retenue :
$sform_path="modules/sform/";
!!include!!_once($sform_path."sform.php");
global $m;
$m=new form_handler();
$m->add_form_title("titre_du_formulaire");
$m->add_form_method("post");
$m->add_form_check("false");
$m->add_mess(" * désigne un champ obligatoire ");
$m->add_submit_value("submitS");
$m->add_!!url(!!"newtopic.php");
!!include!!($sform_path."forum/$formulaire");
if( !isset($GLOBALS["submitS"]) ){
echo $m->print_form("class=\"LIGNA\"");
} else {
$m->make_response();
$message=$m->aff_response("white","not_echo","");
$message="".$message."";
send_email("adresse_une@mon_domaine.be,adresse_deux@mon_domaine.eu", $m->title,$message,"","","html");
}
?>
Si vous voyez des corrections/simplifications à apporter n'hésitez pas.
Merci.
Message édité par : Patrick / 11-11-2005 21:48 |  Profil www
|
|
developpeur 24581
| |