Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
Un détail. Dans le mail que je reçois après la saisie du formulaire de contact, j'aimerais faire apparaitre le nom du champ avant son contenu.
Comme ceci :
Nom : lenomdelexpediteur
Prénom : leprenomdelexpediteur
E-mail : expediteur@sondomaine.fr
Message : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Que modifier dans le php.
Merci
Hors ligne
salut
avec la meme démarche que le captcha tu vas dans configurer => contact
Ajouter le champ nom :
Ajouter le champ prenom :
Ajouter le champ civilité :
Ajouter le champ objet :
le mail étant affiché dans l'expéditeur
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
Bonjour,
Merci pour ton message mais je crois que l'on ne sait pas compris.
Je ne faisais pas allusion au corps du formulaire en lui-même plus au mail qu'il m'envoie.
Je le reçois comme de ceci :
Prénom NOM
expediteur@sondomaine.fr
Marseille
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
et j'aurais aimé recevoir comme ceci :
De la part de : Prénom NOM
E-mail : expediteur@sondomaine.fr
De : Marseille
Son message : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Si il n'y a pas de solution, il ne faut pas s'obstiner, c'est juste de la curiosité.
Merci
Hors ligne
autant pour moi je n'avais pas bien saisie ta question
si si tu peut faire ce que tu veut à partir du moment que tu connais un peu le php
tu à dans ton dossier zplus/module un fichier contact.php et contact.ini ce sont ces fichiers que tu peut modifier pour ton désir perso
edit peut être pour faire simple je ne suis pas un champion en php mais je te fait une suggestion
active la signature et dans contact.php ligne 71 (avec notepad++) tu à ceci
[== PHP ==]
$signature = 'Message envoyé par '.$prenom.' '.$nom.' via mon formulaire de contact '; // à voir ============> dans les options de config
tu modifie cette ligne avec
[== PHP ==]
$signature = 'De la part de :'.$prenom.' '.$nom.' E-mail : '.$email.'; // à voir ============> dans les options de config
faut faire un retour à la ligne et marseil je ne sais pas d'ou cela sort
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
Merci, ce n'est pas tout à fait ce que je voulais mais beaucoup aider à trouver la solution et les bonnes lignes dans le php.
Mais après quelques tests il doit y avoir un soucis avec le nombre maximum de caractères autorisés. Avec environ 100 caractères dans le message, j'ai l'erreur : "N'oubliez pas de saisir votre message" alors qu'il a été évidement saisi.
Dernière modification par bernquel (31/03/2013 15:52:43)
Hors ligne
j'ai jamais entendu parlé de cette limite avec le formulaire de contact
à par cette ligne (contact.php ligne 98)
[== PHP ==]
$message = wordwrap($message, 70); // Dans le cas où nos lignes comportent plus de 70 caractères, nous les coupons en utilisant wordwrap()
je ne vois pas ce qui peut empêché plus d'un 100ene de caractère
ps donne nous le code que tu à fait pour te réaliser ton souhait histoire que si quelqu'un passe sur le forum avec le même besoin qu'il trouve une solution ici merci
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
Bonjour,
Après quelques jours de repos, je me remets dans mon problème. En fait, ce sont les caractères avec accents qui posent problèmes et qui génére l'erreur : "N'oubliez pas de saisir votre message". Le code de mon formulaire est ci-dessous. Merci.
[== PHP ==]
<?php
/*
module: Contact - Gestion d'un formulaire de contact
Copyright Hubert ARNOUX 2011
Site : http://www.atod.fr/ziteplus/
Licence : CeCILL-B, http://www.cecill.info
Historique:
Version et Date version Zite+ mini Description
=============== ================== ===========
1.0 du 01/02/2011 0.9.1.b1 (Atod) Création du module
1.1 du 17/04/2011 0.9.2.a1 (JPG) Ajout captcha de ziteplus + diverses corrections, simplifications et modifications
1.2 du 26/11/2011 0.9.2.a7 (JPG) Petite correction bug
Le module principal se trouve dans le fichier zplus/module/contact.php
Les données ini sont dans zplus/module/contact.ini
les données paramètres dans zplus/module/config/contact.opt
Il permet de créer un formulaire de contact :
- vérification de la syntaxe d'email
- possibilité d'envoyer une copie de l'email à l'expéditeur
- configurez vos messages d'échec et de réussite d'envoi
- configurez une action du formulaire ???????????? => voir ce que devient le traitement de base du formulaire ??????????????????????????????????????????
- possibilité d'afficher le champ "nom" ou non
- possibilité d'afficher le champ "prénom" ou non
- possibilité d'afficher le champ "objet" ou non
- possibilité d'afficher le champ "civilité" ou non
- possibilité d'ajouter une signature à vos message pour savoir si le message provient de votre site <=================== voir user_auto <<<<<<<<<<<<<<<<<<<<<
- conserver les données saisies dans le formulaire en cas d'echec
- Captcha dans le formulaire de contact
PROJET :
- possibilité d'ajouter un champ "piece jointe" ou non : En projet
*/
//==============================================================================
class Tcontact extends Tmodule {
function dojob($opt="") {
parent::dojob();
$out='';
self::$cms->content['dftcss'].= ' label {
width:150px;
float:left;
} ';
require_once(self::$cms->zpath.'/outils.php');
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($postname) {
$text ='';
if (isset($_POST[$postname])) { // si formulaire envoyé, on récupère le champ. Sinon, on initialise la variable
$text = no_mq_gpc($_POST[$postname]);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
}
return $text;
};
/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function verification_email($email) {
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (@eregi($pattern,$email)) ? true : false;
};
$err_formulaire =false;
$err_email = $err_message= $err_telephone= $err_messagesent = false;
// Etablir valeurs des champs
$nom = strtoupper(Rec('nom')); //"NOM" en majuscule
$prenom = ucwords(strtolower(Rec('prenom'))); //"Prénom" avec une majuscule puis en minuscules
$civilite = Rec('civilite');
$ville = Rec('ville'); // ---- ajout de la variable ville postal
$telephone = Rec('telephone'); // ---- ajout de la variable telephone
$email = Rec('email');
$objet = Rec ('objet'); // ---- valeur objet forcee
$message = Rec('message');
$signature = 'Message envoyé via mon site internet '; // à voir ============> dans les options de config
if (isset($_POST['envoi'])) {
// On va vérifier les variables et l'email ...
$err_email = !verification_email($email);
$err_message = empty($message);
$err_nom = empty($nom);
$err_telephone = empty($telephone); // ---- ajout de la verification de telephone
$err_formulaire |= $err_email | $err_message | $err_telephone | $err_nom ;
$err_captcha = false;
if (!$err_formulaire) {
self::$cms->doevent(eCaptcha,eAfter,$err_captcha);
$err_formulaire |= $err_captcha;
}
// Pas d'erreur => envoyer le message
if ($err_formulaire==false) {
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$civilite.' '.$prenom.' '.$nom.' <'.$email.'>' . "\r\n"; /// Logiquement, une génération par défaut est faite + ATTENTION: faire: noreply@hhhhh pour la copie utilisateur
$cible = $this->getOption('destinataire');
// envoyer une copie au visiteur ?
if ($this->getOption('copie')) {
$cible .= ','.$email;
};
//=> à voir
// Remplacement de certains caractères spéciaux
$message = html_entity_decode($message);
$message = str_replace(''',"'",$message);
$message = str_replace('’',"'",$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = wordwrap($message, 570); // Dans le cas où nos lignes comportent plus de 70 caractères, nous les coupons en utilisant wordwrap()
if ($this->getOption('signature')){ //Dans le cas ou il faut insérer une signature
$message .= '
'.$signature;
$message .= $this->getOption('endsignature');
}
// Envoi du mail
if (mail($cible, $objet, $civilite.'Prénom : '.$prenom."\n".'Nom : '.$nom."\n".'E-Mail : '.$email."\n".'Ville : '.$ville."\n".'Téléphone : '.$telephone."\n \n".'Objet : '.$objet."\n".'Message : '.$message, $headers)) {
return '<p class="okmessage">'.$this->getOption('messagesent').'</p>'."\n"; // ---- on ajoute les noms, prenoms, mail, telephone et ville postal dans le texte du mail. "\n" indique un saut de ligne, ' ' permet de mettre en espace entre 2 variables
} else {//Il y a un probleme
$err_formulaire = $err_messagesent = true;
};
}
}; // fin du if (!isset($_POST['envoi']))
if (($err_formulaire) || (!isset($_POST['envoi']))) {
if ($err_formulaire) {
if ($err_nom) self::$cms->msgShow($this->get_message('err_nom'),false);
if ($err_email) self::$cms->msgShow($this->get_message('err_email'),false);
if ($err_message) self::$cms->msgShow($this->get_message('err_message'),false);
if ($err_telephone) self::$cms->msgShow($this->get_message('err_telephone'),false);
if ($err_messagesent) self::$cms->msgShow($this->get_message('err_messagesent'),false);
}
// afficher le formulaire
$out .= '<form id="contact" method="post" '.($this->getOption('form_action')?'action="'.$this->getOption('form_action').'"':'').">\n";
$out .= ' <fieldset><legend>'.$this->get_message('coordonnees').'</legend>'."\n";
if ($this->getOption('showname')){ /*On affiche le champ nom*/
$out .= ' <p>'."\n";
$out .= ' <label for="nom">'.$this->get_message('nom').'</label>'."\n";
$out .= ' <input type="text" id="nom" name="nom" value="'.$nom.'" tabindex="1" />'."\n";
$out .= ' </p>'."\n";
}
if ($this->getOption('showfirstname')){ /*On affiche le champ prenom*/
$out .= ' <p>'."\n";
$out .= ' <label for="prenom">'.$this->get_message('prenom').'</label>'."\n";
$out .= ' <input type="text" id="prenom" name="prenom" value="'.$prenom.'" tabindex="2" />'."\n";
$out .= ' </p>'."\n";
}
if ($this->getOption('civility')){ /*On affiche le champ civilité*/
$out .= ' <p>'."\n";
$out .= ' <label for="civilite">'.$this->get_message('civilite').'</label>'."\n";
$out .= ' <input type="radio" id="civilite" name="civilite" value="'.stripslashes($this->get_message('monsieur')).'" '.($civilite==$this->get_message('monsieur')?'checked':'').' tabindex="3" /> '.$this->get_message('monsieur')."\n";
$out .= ' <input type="radio" id="civilite" name="civilite" value="'.stripslashes($this->get_message('madame')).'" '.($civilite==$this->get_message('madame')?'checked':'').' tabindex="3" /> '.$this->get_message('madamme')."\n";
$out .= ' </p>'."\n";
}
$out .= ' <p>'."\n";
$out .= ' <label for="email">'.$this->get_message('email').'</label>'."\n";
$out .= ' <input type="text" id="email" name="email" value="'.$email.'" tabindex="4" />'."\n";
$out .= ' </p>'."\n";
$out .= ' <p>'."\n";
$out .= ' <label for="ville">'.$this->get_message('ville').'</label>'."\n"; // ---- on rajoute un champ ville postal
$out .= ' <input type="text" id="ville" name="ville" value="'.$ville.'" tabindex="4" />'."\n";
$out .= ' </p>'."\n";
$out .= ' <p>'."\n";
$out .= ' <label for="telephone">'.$this->get_message('telephone').'</label>'."\n"; // ---- on rajoute un champ telephone
$out .= ' <input type="text" id="telephone" name="telephone" value="'.$telephone.'" tabindex="5" />'."\n";
$out .= ' </p>'."\n";
$out .= ' </fieldset>'."\n";
$out .= ' <fieldset><legend>' . $this->get_message('message') . '</legend>'."\n";
if ($this->getOption('showobject')){ /*On affiche le champ objet*/
$out .= ' <p>'."\n";
$out .= ' <label for="objet">'.$this->get_message('objet').'</label>'."\n";
$out .= ' <input type="text" id="objet" name="objet" value="'.$objet.'" tabindex="6" />'."\n";
$out .= ' </p>'."\n";
}
$out .= ' <p>'."\n";
$out .= ' <label for="message" style="vertical-align:top" >'.$this->get_message('corps').'</label>'."\n";
$out .= ' <textarea id="message" name="message" tabindex="7"'.($this->getOption('width')>0?' cols="'.$this->getOption('width'):'').'" rows="'.$this->getOption('length').'">'.$message.'</textarea>'."\n";
$out .= ' </p>'."\n";
$out .= ' </fieldset>'."\n";
self::$cms->doevent(eCaptcha,eBefore,$out,true);
$out .= ' <div style="text-align:center;"><input type="submit" name="envoi" value="'.$this->get_message('envoyer').'" /></div>'."\n";
$out .= '</form>'."\n";
};
return $out;
}
}
?>
Hors ligne
Bonjour,
c'est le code du formulaire d'origine ou tu l'as modifié ?
Quelle version de php est utilisé ?
a+
Jean-Paul
Hors ligne
Bonjour,
C'est un code que j'ai trouvé sur ce forum il me semble. La seule que j'ai modifiée est le nom du champ qui précède son contenu dans le mail que je reçois.
J'ai fait un test avec le formulaire d'origine et je rencontre le même problème.
Je suis en Php5.4
Merci.
Hors ligne
Je suis en Php5.4
Le problème vient de là.
j'ai modifié le module contact pour la future version 0.9.3 de Ziteplus.
En attendant il faut localiser la ligne
$text = htmlspecialchars($text, ENT_QUOTES);
et mettre à la place
$text = htmlspecialchars($text, ENT_QUOTES,'');
a+
Jean-Paul
ps: les modules ziteplus sont ici http://www.giausserand.fr/index.php?per … moduleplus
Hors ligne
Merci, Je n'ai plus d'erreur lors de l'envoie du message. C'est top. Bravo pour ce magnifique outil.
Bernard
Dernière modification par bernquel (14/04/2013 22:23:30)
Hors ligne
Bonjour,
Juste encore un petit détail sur mon formulaire de contact dont le code complet est plus haut. Habitant en Bretagne il est fréquent de trouver un apostrophe ou plusieurs dans les noms de famille.
Dans le message que je reçois le nom apparait comme ceci : L'HELGOUAC'H au lieu de L'HELGOUAC'H par contre pas de problèmes dans le corps du message.
Le résultat de mon test :
Prénom : Jo
Nom : L'HELGOUAC'H
E-Mail : xxx@free.fr
Ville : Rennes
Téléphone : 0223000000
Objet : test du 30/04
Message : dk'ndlel eekdk l'El
Que faudrait-il modifier ?
Avant de passer chez un hébergeur payant j'ai voulu tester les pages chez Free mais le message n'est pas reçu alors que l'envoi est confirmé. C'est un détail sans doute une compatibilité de PHP car en sous domaine chez 1and1 ça fonctionne.
Merci.
Bernard
Hors ligne
Pages : 1