Vous n'êtes pas identifié(e).

Annonce

ATTENTION

  • Prenez le temps de rechercher si quelqu'un n'a pas déjà proposé une solution à votre problème. Sur le forum français et sur le wiki
  • Pensez à mettre à jour votre version de CMS Made Simple. Nous ne faisons de support que sur LA dernière version de CMS Made Simple.
  • Renseignez impérativement le formulaire de nouveau message de manière la plus complète que possible. Dans votre CMS utiliser le menu Administration du site/Informations du système en haut Vue au format texte. Ces informations demandées nous permettent de mieux vous aider
  • Ajoutez [Résolu] au début du titre de votre 1er message lorsqu'une solution a été trouvée.

#1 07/01/2010 13:16:44

jce76350
Administrateur
Lieu : Rouen
Inscription : 23/09/2007
Messages : 6 051
Site Web

Formulaires de contact

Bonjour,

je mets à disposition des formulaires toutes faites que j'utilise depuis ... révisées 2010
ils sont à disposition sur ma page à modifier suivant vos besoins
http://jc.etiemble.free.fr/abc/index.ph … rcesfr_old
voir à Plugins (dans le répertoire /plugins de CMSMS)

[utilise la fonction mail() de PHP]
- un formulaire simple (le vieux formulaire de la version 1.x
- un formulaire +complet qui enregistre les données dans une table à créer

[utilise la fonction SMTP de CMSMailer]
- un formulaire simple (le vieux formulaire de la version 1.x
- un formulaire +complet qui enregistre les données dans une table à créer

Nota
des tests ont été fait avec le SMPT de Google, pour cela il faut utiliser la version modifié de CMSMailer (1.73.14.5.1) dispo aussi sur ma page
Cette modification a été proposées sur le forum EN
http://forum.cmsmadesimple.org/index.ph … 8.html#new

Nota bis : la version CMSMailer 2.0 dispo avec la version CMSMS 1.7.1 (de début mai 2010 http://www.cmsmadesimple.fr/forum/viewt … p?id=2599) fonctionne avec SMPT de Google (Protocole de sécurisation =  SSL)

Merci du retour d'information
les balises sont à disposition sous votre responsabilité SANS AUCUNE GARANTIE


J-C Etiemble Tutoriels v 2.2.x

Hors ligne

 

#2 25/03/2010 13:14:34

Philipppe
Membre
Lieu : Arradon
Inscription : 19/11/2007
Messages : 472

Re : Formulaires de contact

Bonjour Jce,

jce76350 a écrit :

Bonjour,

Merci du retour d'information
les balises sont à disposition sous votre responsabilité SANS AUCUNE GARANTIE

Je suis en train de tester les solutions que tu proposes, et je rencontre quelques difficultés :
[avec le formulaire complet et envoi par fonction mail() ..]
- j'ai besoin d'utiliser la fonction pour 3 formulaires, sur la même base de données !
- j'arrive à construire ma base et mes 3 formulaires, mais comment utiliser 3 occurrences différentes de la fonction "register_form"?
   j'imagine 3 balises, avec des noms différents ?
   Y a-t-il un risque de plantage de CmsMs ?

- j'ai une difficulté avec les accents sur le champs adresse -varchar(80)- : la chaîne de caractère est tronquée dans la base de données !(adresse 3 allée Men Gwenn tronquée 3 all !)
  Dans les autres champs, les caractères accentués sont remplacés par un ? !
  Je ne pense pas avoir modifié quoi que ce soit à propos des caractères accentués.

Quand j'aurai utilisé l'ensemble, je te proposerai quelques rectification de détails d'orthographe ...
Merci de ta réponse !


Philippe
CmsMs V1.6.11 Fr (merci jce) et V1.11.x Fr
Hébergeur  Free.fr, Gandi.net (GandiAI et SimpleHosting)

Hors ligne

#3 25/03/2010 13:30:21

jce76350
Administrateur
Lieu : Rouen
Inscription : 23/09/2007
Messages : 6 051
Site Web

Re : Formulaires de contact

re,

>mais comment utiliser 3 occurrences différentes de la fonction "register_form"?
>  j'imagine 3 balises, avec des noms différents ?
oui par exemple
il faut dans ce cas donner un nom du fichier function.register_form1.php et donner aussi un nom dans le code PHP  _register_form -> _register_form1
de plus renommer aussi
function confsanitize  -> function confsanitize1
function validationEmail -> function validationEmail1
et autre fonctions utilisées
De plus faire une table de BD pour chaque si besoin

>   Y a-t-il un risque de plantage de CmsMs ?
Non seulement un explosion du PC wink
sérieusement , il n'y pas de risque faire une SAV de la base avant de faire des bidouillage et vérifier que la liste des balise s'affiche bien dans le menu Extensions   » Balises

>j'ai une difficulté avec les accents sur le champs adresse -varchar(80)
Non normalement c'est bon 

>Dans les autres champs, les caractères accentués sont remplacés par un ?
problème d'encodage surement entre la base de données le serveur et le script


J-C Etiemble Tutoriels v 2.2.x

Hors ligne

#4 25/03/2010 13:38:22

Philipppe
Membre
Lieu : Arradon
Inscription : 19/11/2007
Messages : 472

Re : Formulaires de contact

Super merci de ta réponse rapide !
Je vais donc prendre le risque d'explosion ...

Pour ce qui est des accents, je fais le test :
- en local avec WampServer
- sur site avec serveur hébergé chez Gandi.net
et j'ai le même résultat des deux côtés. !

Je te tiens au courant.


Philippe
CmsMs V1.6.11 Fr (merci jce) et V1.11.x Fr
Hébergeur  Free.fr, Gandi.net (GandiAI et SimpleHosting)

Hors ligne

#5 29/03/2010 11:18:53

Philipppe
Membre
Lieu : Arradon
Inscription : 19/11/2007
Messages : 472

Re : Formulaires de contact

Bonjour JCE,

J'ai quelques difficultés avec la mise au point de mon module d'adhésion
   1 d'abord dues à mes lacunes concernant le SQL, je vais tatonner encore un peu avant de demander help !
   2 ensuite à propos de l'intégration ergonomique dans Cms :
    Tu parles de créer une occurrence de la "function_register_form" ET des sous-fonctions utilisées !
    J'en comprends l'utilité si je répartis le code sur plusieurs fichiers liés (genre function_register_form.php = balise localisée dans le dossier plugin + sous-fonctions éventuellement codées en autant de fonctions utilisateurs?)
    Mais dans la mesure où les sous-fonctions sont intégrées au fichier de la balise, pour quelle raison faire trois occurrences ? ne suffit-il pas de faire "function_register_form1" "...2" "...3" avec les sous-fonctions non modifiées dans le fichier ?
Merci


Philippe
CmsMs V1.6.11 Fr (merci jce) et V1.11.x Fr
Hébergeur  Free.fr, Gandi.net (GandiAI et SimpleHosting)

Hors ligne

#6 29/03/2010 12:05:54

jce76350
Administrateur
Lieu : Rouen
Inscription : 23/09/2007
Messages : 6 051
Site Web

Re : Formulaires de contact

re,

Tu fais comme tu veux
Pour moi, afin de faire une maintenance, il est plus simple de faire 3 fichiers balises
- function.register_form1.php + code PHP  _register_form -> _register_form1
- function.register_form2.php code PHP  _register_form -> _register_form2
- function.register_form3.php + code PHP  _register_form -> _register_form1
et la suite (function confsanitize... )comme indiqué lus haut


J-C Etiemble Tutoriels v 2.2.x

Hors ligne

#7 29/03/2010 15:55:39

Philipppe
Membre
Lieu : Arradon
Inscription : 19/11/2007
Messages : 472

Re : Formulaires de contact

Ok jce Merci.

Une dernière question, pour la fonction _register_form:
  - je n'arrive pas à trouver où est défini le style de la zone "textarea" du champ "message" !
  - je souhaite seulement deux lignes => attribut rows="2" ne fonctionne pas ... ni aucun autre essai que je puisse imaginer !
A l'aide stp!?


Philippe
CmsMs V1.6.11 Fr (merci jce) et V1.11.x Fr
Hébergeur  Free.fr, Gandi.net (GandiAI et SimpleHosting)

Hors ligne

#8 29/03/2010 16:04:42

Philipppe
Membre
Lieu : Arradon
Inscription : 19/11/2007
Messages : 472

Re : Formulaires de contact

Re,

Philipppe a écrit :

où est défini le style de la zone "textarea" du champ "message" !
  - je souhaite seulement deux lignes => attribut rows="2" ...

Grrr ... je n'avais pas pensé aux styles de "FormBuilder", dont j'utilise le formulaire de contact sur le même site !

Et voilà donc : cohérence, et formulaire de contact géré par mon module !

A suivre !


Philippe
CmsMs V1.6.11 Fr (merci jce) et V1.11.x Fr
Hébergeur  Free.fr, Gandi.net (GandiAI et SimpleHosting)

Hors ligne

#9 30/03/2010 10:17:14

Philipppe
Membre
Lieu : Arradon
Inscription : 19/11/2007
Messages : 472

Re : Formulaires de contact

Bonjour jce,

Après l'affichage du message d'accusé d'envoi du formulaire valide, je Je voudrais rediriger l'affichage vers ma page d'accueil ... et je bute sur cette redirection !
Peux-tu m'orienter ?
J'ai le cerveau ramolo en ce moment on dirait !
Merci.


Philippe
CmsMs V1.6.11 Fr (merci jce) et V1.11.x Fr
Hébergeur  Free.fr, Gandi.net (GandiAI et SimpleHosting)

Hors ligne

#10 30/03/2010 11:50:56

jce76350
Administrateur
Lieu : Rouen
Inscription : 23/09/2007
Messages : 6 051
Site Web

Re : Formulaires de contact

re,

>et je bute sur cette redirection !
<form action="...


J-C Etiemble Tutoriels v 2.2.x

Hors ligne

#11 30/03/2010 12:06:51

Philipppe
Membre
Lieu : Arradon
Inscription : 19/11/2007
Messages : 472

Re : Formulaires de contact

Merci

jce76350 a écrit :

re,

>et je bute sur cette redirection !
<form action="...

Oui jce, je vois bien :

    <form action="<?php $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] ?>" method="post" name="contactForm">

et

    if (isset($_SERVER['REQUEST_URI'])) 
    {
    $action = $_SERVER['REQUEST_URI'];
    }
    else
    {
    $action = isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : '';
    if (isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING'] != '') 
    {
        $action .= '?'.$_SERVER['QUERY_STRING'];
    }
    }

mais je ne trouve pas comment insérer la balise redirect_page ou un window.location.replace(ma_page) ...
Je n'avais jamais vraiment utilisé les fonctions php complexes avant !
Merci de ton aide stp


Philippe
CmsMs V1.6.11 Fr (merci jce) et V1.11.x Fr
Hébergeur  Free.fr, Gandi.net (GandiAI et SimpleHosting)

Hors ligne

#12 30/03/2010 21:14:28

jce76350
Administrateur
Lieu : Rouen
Inscription : 23/09/2007
Messages : 6 051
Site Web

Re : Formulaires de contact

re,

>comment insérer la balise redirect_page ou un window.location.replace(ma_page) ...
si message OK
header('location: index.php?tapage'); //


J-C Etiemble Tutoriels v 2.2.x

Hors ligne

#13 31/03/2010 11:56:54

Philipppe
Membre
Lieu : Arradon
Inscription : 19/11/2007
Messages : 472

Re : Formulaires de contact

Bonjour jce,

jce76350 a écrit :

re,

>comment insérer la balise redirect_page ou un window.location.replace(ma_page) ...
si message OK
header('location: index.php?tapage'); //

Merci !
Je vais tester cette proposition, et te tiens au courant.


Philippe
CmsMs V1.6.11 Fr (merci jce) et V1.11.x Fr
Hébergeur  Free.fr, Gandi.net (GandiAI et SimpleHosting)

Hors ligne

#14 01/04/2010 12:09:44

Philipppe
Membre
Lieu : Arradon
Inscription : 19/11/2007
Messages : 472

Re : Formulaires de contact

Me revoila jce,

j'ai intégré ta proposition ainsi :

        // affiche
            echo '<div class="formMessage"'. (($style) ? $OKStyle:'') . '>Votre message a bien été envoyé. <br />Vous allez recevoir une réponse sous 24 - 72 heures.<br />Merci.<br /> L\'équipe d\'amavie.<br /> </div>'. "\n";

            return header('location: index.php?accueil'); //

et ça fonctionne ne effet ... !
Mais je ne vois plus le message d'accusé d'envoi du formulaire !
Et je ne trouve pas comment ajouter une tempo ... pour que l'utilisateur puisse lire ... !

J'ai essayé d'intégrer la fonction sleep(); de php, mais je retarde seulement l'affichage de la page ... !
Grrr ...  le php et moi !
Et j'ai un délai très court pour finaliser le site maintenant !

Veux-tu me donner un truc ...
sinon je vais créer une page qui affichera le message, avec une redirection temporisée dans la balise META ... mais pas propre du tout ça !
Merci


Philippe
CmsMs V1.6.11 Fr (merci jce) et V1.11.x Fr
Hébergeur  Free.fr, Gandi.net (GandiAI et SimpleHosting)

Hors ligne

#15 01/04/2010 12:30:36

jce76350
Administrateur
Lieu : Rouen
Inscription : 23/09/2007
Messages : 6 051
Site Web

Re : Formulaires de contact

re,

>Mais je ne vois plus le message d'accusé d'envoi du formulaire !
faut choisir wink
le gars il veut le beurre l'argent du beurre et en plus une ...


J-C Etiemble Tutoriels v 2.2.x

Hors ligne

#16 01/04/2010 12:49:02

Philipppe
Membre
Lieu : Arradon
Inscription : 19/11/2007
Messages : 472

Re : Formulaires de contact

Sourires ... !

jce76350 a écrit :

re,

>Mais je ne vois plus le message d'accusé d'envoi du formulaire !
faut choisir wink
le gars il veut le beurre l'argent du beurre et en plus une ...

Ben nan ! je souhaite juste .... trouver la bonne solution pour une redirection conditionnelle ... au bout de 30 secondes ... le temps de lire !
Je vais finir par trouver !
Merci !


Philippe
CmsMs V1.6.11 Fr (merci jce) et V1.11.x Fr
Hébergeur  Free.fr, Gandi.net (GandiAI et SimpleHosting)

Hors ligne

#17 02/04/2010 16:35:32

jce76350
Administrateur
Lieu : Rouen
Inscription : 23/09/2007
Messages : 6 051
Site Web

Re : Formulaires de contact

re,

>Je vais finir par trouver !
Oui parce suivant ton installation c'est pas évident de conseiller


J-C Etiemble Tutoriels v 2.2.x

Hors ligne

#18 05/04/2010 11:23:50

Philipppe
Membre
Lieu : Arradon
Inscription : 19/11/2007
Messages : 472

Re : Formulaires de contact

Bonjour jce,
Je reviens, après divers essais, et pour information d'éventuels utilisateurs :
   - j'ai effectivement pu créer 6 occurrences de la function _register_form, (..._form, ...form1, ..._form2, ..._form5) en modifiant la désignation de chaque fonction présente dans la balise.
   - et voilà un lien pour le résultat http://www.amavie.org/index.php?page=praticiens (encore du boulot pour améliorer la présentation)
J'ai encore deux difficultés :
    - avec les caractères accentués : le mot est tronqué dans la base de données !
    - pour rediriger l'usager du formulaire vers la page d'accueil du site APRES affichage du message d'accusé réception d'enregistrement !

jce76350 a écrit :

re,

>Je vais finir par trouver !
Oui parce suivant ton installation c'est pas évident de conseiller

Est-il possible de te joindre en direct, pour trouver le défaut ?
Si oui, dis moi quand et comment sur mon mel plorton _ @ _ icor.fr
Merci.


Philippe
CmsMs V1.6.11 Fr (merci jce) et V1.11.x Fr
Hébergeur  Free.fr, Gandi.net (GandiAI et SimpleHosting)

Hors ligne

#19 05/04/2010 12:54:08

jce76350
Administrateur
Lieu : Rouen
Inscription : 23/09/2007
Messages : 6 051
Site Web

Re : Formulaires de contact

re,

Laisse pas ton mail en clair sur le forum (je viens de modifier)
Contacte moi via mon site web


J-C Etiemble Tutoriels v 2.2.x

Hors ligne

#20 04/11/2010 15:47:15

soupaloignon
Membre
Lieu : Toulouse
Inscription : 25/09/2007
Messages : 200

Re : Formulaires de contact

Bonjour Jce wink

Je déterre ce vieux post...

Je suis en train de tester ton formulaire simple (le vieux formulaire de la version 1.x qui utilise la fonction mail() de PHP). Il fonctionne très bien, aucun souci.

Par contre j'ai voulu rajouter un champs "societe" et là ça coince. Non pas dans le formulaire en lui même, ni dans l'envoi, cela se passe bien. Par contre dans le mail reçu ne figure pas l'information contenue dans le champs "societe".

Je pense que le problème doit se passer au niveau de :

        if (!empty($_POST['societe'])) $societe =($_POST['societe']); // Ajout Soupaloignon

        if (!empty($_POST['name'])) $name =($_POST['name']); // Jce suppress cfSanitize

        if (!empty($_POST['email'])) $email = cfSanitize($_POST['email']);

        if (!empty($_POST['subject'])) $subject = ($_POST['subject']); // Jce suppress cfSanitize

        if (!empty($_POST['message'])) $message = $_POST['message'];



        $bodymessage.= " \r\n";

        $bodymessage = " Societe : ".utf8_decode($societe)."\r\n";    // Ajout Soupaloignon

        $bodymessage = " Prenom et Nom : ".utf8_decode($name)."\r\n";    //Pr&eacute;nom et Nom

        $bodymessage.= " Adresse mail : ".($email)."\r\n\r\n";            

        $bodymessage.= " Message  : \r\n".utf8_decode($message)."\r\n";

        $bodymessage.= " \r\n";

Mais je ne vois pas vraiment où. Peut être au niveau du point qui est après certains $bodymessage ?

Aurais tu une idée ?


Le code complet :

<?php



# CMSMS - CMS Made Simple

#

# (c)2004 by Ted Kulp ([email protected])

#

# This project's homepage is: [url]http://cmsmadesimple.org[/url]

#

# This program is free software; you can redistribute it and/or modify

# it under the terms of the GNU General Public License as published by

# the Free Software Foundation; either version 2 of the License, or

# (at your option) any later version.

#

# This program is distributed in the hope that it will be useful,

# but WITHOUT ANY WARRANTY; without even the implied warranty of

# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License

# along with this program; if not, write to the Free Software

# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

//Révision: 3468+3550+3553+3933

//Modification du 11/11/06  reprise de la version 0.13 +  traduc

// -->+ Ex Modif du 14/09/06 suppression de  cfSanitize( ...  Pour retour à la ligne +++ et ajout de utf8_decode() pour la lecture des mails en iso-8859-1

// TEST sur Free ACRN Attention au code source={contact_form email='[email protected]' captcha='true'}

//Modiication Rev3550  - 06/12/2006 -->Fix contact form with internal pretty url's

//Modiication Rev 3553 -09/12/2006 ->Fix Undefined index: style and captcha error notice

//Modif rev 3933 10/05/2007- JCE  add sender ip to contact_form message, line 110

// Modificatio du 17/05/2008 ajout    echo lang('help_function_contact_form'); l'aide se trouve maintenet dans le fichier \admin\lang\ext\fr_FR\admin.inc.php



//27/12/2009   Suppresion de <!-- input type="reset" value="Effacer" / --> ajout  $bodymessage pour afficher dans la corps du message les infos

// - last modification 06/01/2009



function smarty_cms_function_contact_form($params, &$smarty) {



// init

    global $gCms;

    $date_serveur = date("Y-m-d H:m:s"); // date du jour



    if (FALSE == empty($params['captcha']) && $params['captcha'] && isset($gCms->modules['Captcha'])) 

    {

        $captcha =& $gCms->modules['Captcha']['object'];

    }



    if (empty($params['email'])){

        echo '<div class="formError">Une adresse email doit etre spécifi&eacute;e pour utiliser ce pluging.</div>';

        return;

    }else{

        $to = $params['email'];

    }

    

    $style = true; // Use default styles

    if (FALSE == empty($params['style']) && $params['style'] === "false" ) $style = false; // Except if "false" given in params

    

    $errorsStyle = 'style="font-weight: bold; color: red;"'; // jce

    $OKStyle = 'style="font-weight: bold;"'; // jce

        

    $captchaStyle = 'style="width: 350px; margin-bottom:1em; text-align: center;"'; //jce

        

    $errors=$name=$email=$subject=$message = '';

    $bodymessage = '';

    if (FALSE == empty($params['subject_get_var']) && FALSE == empty($_GET[$params['subject_get_var']]))

      {

        $subject = $_GET[$params['subject_get_var']];

      }

    if($_SERVER['REQUEST_METHOD']=='POST'){

        if (!empty($_POST['societe'])) $societe =($_POST['societe']); // Ajout Soupaloignon

        if (!empty($_POST['name'])) $name =($_POST['name']); // Jce suppress cfSanitize

        if (!empty($_POST['email'])) $email = cfSanitize($_POST['email']);

        if (!empty($_POST['subject'])) $subject = ($_POST['subject']); // Jce suppress cfSanitize

        if (!empty($_POST['message'])) $message = $_POST['message'];



        $bodymessage.= " \r\n";

        $bodymessage = " Societe : ".utf8_decode($societe)."\r\n";    // Ajout Soupaloignon

        $bodymessage = " Prenom et Nom : ".utf8_decode($name)."\r\n";    //Pr&eacute;nom et Nom

        $bodymessage.= " Adresse mail : ".($email)."\r\n\r\n";            

        $bodymessage.= " Message  : \r\n".utf8_decode($message)."\r\n";

        $bodymessage.= " \r\n";



            

        if (FALSE == empty($params['captcha']) && $params['captcha'] && isset($gCms->modules['Captcha'])) 

        {

            if (!empty($_POST['captcha_resp'])) { $captcha_resp = $_POST['captcha_resp']; }

        }



        //Mail headers

        //$extra = "From: $name <$email>\r\n";

        $name = utf8_decode($name); // jce    

        $extra = "From: $name <$email>\r\nReply-To: $email\r\n"; //jce

        //$extra .= "Content-Type: text/plain\r\n"; // enlevé car c'est cela qui perturbe le utf8_decode --> utf8/iso

        

        if (empty($societe)) $errors .= "\t\t<li>" . 'Merci d\'indiquer votre societe.' . "</li>\n"; // Ajout Soupaloignon

        if (empty($name)) $errors .= "\t\t<li>" . 'Merci d\'indiquer votre Pr&eacute;nom et Nom.' . "</li>\n";

        if (empty($email)) $errors .= "\t\t<li>" . 'Merci d\'indiquer votre adresse mail.' . "</li>\n";

        elseif (!validEmail($email)) $errors .= "\t\t<li>" . 'Votre adresse mail est non valide.' . "</li>\n";

        if (empty($subject)) $errors .= "\t\t<li>" . 'Merci d\'indiquer votre sujet.' . "</li>\n";

        if (empty($message)) $errors .= "\t\t<li>" . 'Merci de renseigner le texte de votre message.' . "</li>\n";

        if (FALSE == empty($params['captcha']) && $params['captcha'] && isset($gCms->modules['Captcha']))

        {

            if (empty($captcha_resp)) $errors .= "\t\t<li>" . 'Merci d\'entrer le texte contenu dans l\'image' . "</li>\n";

            elseif (! ($captcha->checkCaptcha($captcha_resp))) $errors .= "\t\t<li>" . 'Le texte contenu dans l\'image n\'est pas correct !' . "</li>\n";

        }

        

        if (!empty($errors)) {

            echo '<div class="formError" ' . (($style) ? $errorsStyle:'') . '>' . "\n";

            //echo '<p>Error(s) : </p>' . "\n";

            echo "\t<ul>\n";

            echo $errors;

            echo "\t</ul>\n";

            echo "</div>";

        }

                                                //, utf8_decode($message) .

        elseif (@mail($to, utf8_decode($subject), ($bodymessage) . "\n\nEmis par ".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]." le : ".$date_serveur." par IP : ".$_SERVER["REMOTE_ADDR"]." Navigateur : ".$_SERVER["HTTP_USER_AGENT"], $extra)) {

            echo '<div class="formMessage"' . (($style) ? $OKStyle:'') . '>Votre message a bien &eacute;t&eacute; envoy&eacute;.</div>' . "\n";    //Jce        

            return;  

        }

        else {

            echo '<div class="formError" ' . (($style) ? $errorsStyle:'') . '>D&eacute;sol&eacute; le message ne peut etre envoy&eacute;, le serveur est hors service ou une erreur interdit l\'envoi !</div>' . "\n";

            return;

        }

    }

//Modiication Rev3550  - 06/12/2006

    if (isset($_SERVER['REQUEST_URI'])) 

    {

    $action = $_SERVER['REQUEST_URI'];

    }

    else

    {

    $action = isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : '';

    if (isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING'] != '') 

    {

        $action .= '?'.$_SERVER['QUERY_STRING'];

    }

    }



// Form  

    ?>

    <form action="<?php $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] ?>" method="post" name="contactForm"> 



    

<label for="societe" title="Veuillez saisir votre societe" <?php echo ($style)?' style="font-weight: bold;"':''; ?>>* Votre societe :</label>

<input type="text" name="societe" id="societe" title="Veuillez saisir votre societe" value="<?php echo htmlspecialchars($name); ?>" size="50"<?php echo ($style)?' style="width: 350px; border: solid 1px navy; display: block; margin-bottom: 7px;margin-top: 7px;"':''; ?> />

    

<label for="name" title="Veuillez saisir votre Pr&eacute;nom et Nom" <?php echo ($style)?' style="font-weight: bold;"':''; ?>>* Votre Pr&eacute;nom et Nom :</label>

<input type="text" name="name" id="name" title="Veuillez saisir votre Pr&eacute;nom et Nom" value="<?php echo htmlspecialchars($name); ?>" size="50"<?php echo ($style)?' style="width: 350px; border: solid 1px navy; display: block; margin-bottom: 7px;margin-top: 7px;"':''; ?> />

    

<label for="email" title="Veuillez saisir votre adresse email" <?php echo ($style)?' style="font-weight: bold;"':''; ?>>* Votre adresse mail :</label>

<input type="text" name="email" id="email" title="Veuillez saisir votre adresse email" value="<?php echo htmlspecialchars($email); ?>" size="50"<?php echo ($style)?' style="width: 350px; border: solid 1px black; display: block; margin-bottom: 7px;margin-top: 7px;"':''; ?> />



<label for="subject" title="Veuillez saisir votre Sujet" <?php echo ($style)?' style="font-weight: bold;"':''; ?>>* Sujet du message :</label>    

<input type="text" name="subject" id="subject" title="Veuillez saisir votre Sujet" value="<?php echo htmlspecialchars($subject); ?>" size="50"<?php echo ($style)?' style="width: 350px; border: solid 1px navy; display: block; margin-bottom: 7px;margin-top: 7px;"':''; ?> />

    

<label for="message" title="Veuillez saisir votre message" <?php echo ($style)?' style="font-weight: bold;"':''; ?>>* Votre message :</label>

<textarea name="message" id="message" title="Veuillez saisir votre message" cols="40" rows="10"<?php echo ($style)?' style="width: 350px; border: solid 1px navy; display: block; margin-bottom: 7px;margin-top: 7px;"':''; ?>><?php echo htmlspecialchars($message); ?></textarea>



<?php

//  captcha

if (FALSE == empty($params['captcha']) && $params['captcha'] && isset($gCms->modules['Captcha']))

{

?>

<label for="captcha_resp" title="Entrer les caract&egrave;res g&eacute;n&eacute;r&eacute;s par l'image" <?php echo ($style)?' style="font-weight: bold;"':''; ?>>* Entrer les caract&egrave;res g&eacute;n&eacute;r&eacute;s par l'image : </label><br />

<input type="text" name="captcha_resp"  id="captcha_resp" title=" Entrer les caract&egrave;res g&eacute;n&eacute;r&eacute;s par l'image" value="" size="20" <?php echo ($style) ? $captchaStyle:''; ?>/>

<?php

    echo "<div $captchaStyle>" . $captcha->getCaptcha() . '</div>';

}

// End captcha

?>



    <input type="submit" value="Envoyer" /><!-- input type="reset" value="Effacer" / -->

    </form>

<br /><small>* Champs obligatoires</small>



<?php

// End form

}





function smarty_cms_help_function_contact_form() {

  echo lang('help_function_contact_form');

    ?>

    <h3>Ajout Fr</h3>    

    <ul>

        <li>Modification pour envoyer les accents pour la lecture des mails en iso-8859-1.</li>    

        <li>Traduction des termes anglais en fran&ccedil;ais.</li>

    </ul>

    <br />

    <?php

}



function smarty_cms_about_function_contact_form() {

    ?>

    <p>Author: Brett Batie &lt;[email protected]&gt; &amp; Simon van der Linden &lt;[email protected]&gt;</p>

    <p>Version: 1.5 (20091227)</p>

    <p>

    Change History:<br/>

        <ul>

        <li>l.2 : various improvements (errors handling, etc.)</li>

        <li>1.3 : added subject_get_var parameter (by elijahlofgren)</li>

        <li>1.4 : added captcha module support (by Dick Ittmann)</li>

        <li>1.5 : jce7350 modifications</li>

        </ul>

    </p>

    <?php

}





function cfsanitize($content){

    return str_replace(array("\r", "\n"), "", trim($content));

}



function validEmail($email) {

    if (!preg_match("/^([\w|\.|\-|_]+)@([\w||\-|_]+)\.([\w|\.|\-|_]+)$/i", $email)) {

        return false;

        exit;

    }

    return true;

}

// modification JCE Validée le 14/11/06



?>

Dernière modification par soupaloignon (04/11/2010 15:47:49)


==> Merci de marquer [Résolu] dans le titre de votre message lorsque une solution a été trouvée <==

Mint 17

Hors ligne

#21 04/11/2010 16:14:21

bess
Administrateur
Lieu : Rennes
Inscription : 16/12/2008
Messages : 6 094
Site Web

Re : Formulaires de contact

normal que ca merde smile

et tu as raison c'est le "." qui était manquant

if (!empty($_POST['societe'])) $societe sad$_POST['societe']); // Ajout Soupaloignon

        if (!empty($_POST['name'])) $name sad$_POST['name']); // Jce suppress cfSanitize

        if (!empty($_POST['email'])) $email = cfSanitize($_POST['email']);

        if (!empty($_POST['subject'])) $subject = ($_POST['subject']); // Jce suppress cfSanitize

        if (!empty($_POST['message'])) $message = $_POST['message'];



        $bodymessage.= " \r\n";

        $bodymessage .= " Societe : ".utf8_decode($societe)."\r\n";    // Ajout Soupaloignon

        $bodymessage .= " Prenom et Nom : ".utf8_decode($name)."\r\n";    //Pr&eacute;nom et Nom

        $bodymessage.= " Adresse mail : ".($email)."\r\n\r\n";           

        $bodymessage.= " Message  : \r\n".utf8_decode($message)."\r\n";

        $bodymessage.= " \r\n";

là tu faisais des affectations successives qui écrasent la précédente valeur alors que tu souhaitais cumuler les valeurs. Ca ne se voyais pas dans le code de Jce par ce que le seul code écrasé était un bête retour à la ligne dans le code et même pas dans le rendu de l'HTML

Hors ligne

#22 04/11/2010 17:02:21

soupaloignon
Membre
Lieu : Toulouse
Inscription : 25/09/2007
Messages : 200

Re : Formulaires de contact

Merci Bess pour ta réponse smile

Avant de poster j'avais testé cette solution qui consiste à rajouter un point (.) après $bodymessage mais à chaque fois cela provoquait une erreur. En fait un bête espace oublié après ces fameux points. Maintenant le formulaire se charge sans erreur

Par contre cela marche 1 fois sur 2. Par moment il est impossible d'envoyer le formulaire, alors qu'un test avec un autre formulaire est correctement envoyé dans les 10 secondes qui suivent, et qu'un nouveau test avec le formulaire initial renvoi la même erreur (Désolé le message ne peut etre envoyé, le serveur est hors service ou une erreur interdit l'envoi !)

Je vais essayer d'intégrer le 2ème formulaire de test que j'utilise. A ce propos si tu es curieux, jette un coup d'oeil la dessus, c'est impressionnant wink
http://www.f1-fantasy.net/assistant/sta … istant.htm

(C'est l'assistant que j'ai utilisé pour créer le formulaire de test)


==> Merci de marquer [Résolu] dans le titre de votre message lorsque une solution a été trouvée <==

Mint 17

Hors ligne

#23 04/11/2010 20:18:57

soupaloignon
Membre
Lieu : Toulouse
Inscription : 25/09/2007
Messages : 200

Re : Formulaires de contact

Bon, en fait le problème dont je parlais dans mon message précédent ne venait pas du formulaire, mais de mon fait. Comme je testais le script je faisais une réactualisation de la page, ce qui provoquait ensuite une erreur à l'envoi. Tout fonctionne parfaitement maintenant.

J'ai modifié le script, notamment la possibilité maintenant d'avoir une liste déroulante de choix. Je ne sais pas si je peux poster le script modifié ici, puisque c'est le fil de discussion de Jce, mais en attendant une réponse dans un sens ou dans un autre, vous pouvez laisser un message ici si vous êtes intéressé par cette modification, je suis abonné à ce fil.


==> Merci de marquer [Résolu] dans le titre de votre message lorsque une solution a été trouvée <==

Mint 17

Hors ligne

Pied de page des forums

  Flux Rss Twitter FaceBook