Forum ZitePLUS

La communauté des utilisateurs du CMS ZitePLUS

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

#26 15/07/2008 23:01:44

magda
Membre
Inscription : 13/07/2008
Messages : 12

Re : Comment faire un formulaire avec Zite

Bonjour,
J'essaye de mettre le formulaire dans mon site, et lorsque je le met dans le code source :
- Dans Contacts : seuls "Votre nom" "Votre email "Votre message" en texte apparait (sans possibilité de rentrer quoi que ce soit
- Dans Formulaire : une fois entré le code de renaud (le premier) entré en code source voici ce qui apparait "$v) $msg .= "\n$k : $v"; mail('bmael@free.fr', 'Message de mon zite', $msg); // On affiche merci print $zite->get_content(1189414079, true); } else { // On affiche le formulaire print $zite->get_content(formulaire-contact, true); } ?> "

Pouvez vous m'expliquer pas à pas la procédure ?

Merci

Hors ligne

#27 16/07/2008 10:57:27

bmael
Membre
Lieu : Morbihan
Inscription : 08/06/2007
Messages : 128
Site Web

Re : Comment faire un formulaire avec Zite

Attention de mettre le code source en mode source et de ne plus retoucher le contenu de la page en mode édition. On perd ce qu'on a fait dans la source.
Pour le formulaire, merci de retirer l'adresse mail. Je me demande ce qu'elle fait là.

Hors ligne

#28 23/07/2008 13:23:23

michael79
Membre
Lieu : Bruxelles, Belgique
Inscription : 23/07/2008
Messages : 422

Re : Comment faire un formulaire avec Zite

Renaud a écrit :

Alors j'espère que tu éditais le source en passant par "EDITER"... car ce lien là fonctionne comme s'il y avait le wysiwyg, alors qu'en passant par "SOURCE" le formulaire devrait être préservé. Confirme-moi ça, car sinon j'ai un autre soucis à régler.

Je suis en train de modifier zite pour que "EDITER" préserve le </textarea> (et le reste) lorsqu'il est utilisé sans wysiwyg, comme "SOURCE". Je remplace aussi les short open tags, pour que l'install soit moins problématiques pour les utilisateurs de certains hébergeurs et de distributions de php genre easyphp et compagnie). Dans la même veine, la réécriture d'URL sera désactivée par défaut. L'objectif est que zite marche où qu'on le mette sans trop se poser de questions.

Ben c'est tout bête, suffit de changer le fichier tinymce.php

Remplacer

<textarea style="width:100%;height:500px;" name="source" id="source"><?php echo str_replace($r_in, $r_out, $content) ?></textarea>

par

<div style="width:100%;height:500px;" name="source" id="source"><?php echo str_replace($r_in, $r_out, $content) ?></div>

Et d'ajouter les tags et options HTML dans extended_valid_elements
Exemple (incomplet): form[action|method|enctype],input[type|name|value|src|size|maxlength],textarea[name|cols|rows],...


ZiteCMS rocks !

Hors ligne

#29 07/12/2008 17:28:02

JLD49
Membre
Inscription : 28/11/2007
Messages : 9

Re : Comment faire un formulaire avec Zite

Bonjour,

J'ai le meme soucis que magda, j'entre bien le code en php, mais, en ligne, il apparait ceci dans la page

$v) $msg .= "n$k : $v"; mail('adresse e-mail', 'Message de mon zite', $msg); // On affiche merci print $zite->get_content(1228422225, true); } else { // On affiche le formulaire print $zite->get_content(1228422220, true); } ?>

par contre en local sur mon PC, le formaulaire apparait bien.

Quelqu'un a t-il la solution ?
Cordialement
JLD

Hors ligne

#30 07/12/2008 22:29:24

Renaud
Membre
Inscription : 30/01/2007
Messages : 306

Re : Comment faire un formulaire avec Zite

tu as bien coché que ta page contient du PHP et non du HTML ?


Ubuntu Rocks

Hors ligne

#31 07/12/2008 22:40:37

JLD49
Membre
Inscription : 28/11/2007
Messages : 9

Re : Comment faire un formulaire avec Zite

Bonsoir Renaud,

Oui, j'ai bien coché le Php avant d'ouvir en source (et après je ne revalide rien en mode édition)

Ce que je ne comprends pas, c'est qu'en local, le formulaire s'affiche bien. Cela peut venir de l'hébergeur ? (1&1)

Merci de ta réponse

JLD

Hors ligne

#32 07/12/2008 22:41:56

Renaud
Membre
Inscription : 30/01/2007
Messages : 306

Re : Comment faire un formulaire avec Zite

le plus simple serait me donner un accès à ton zite (par mail).


Ubuntu Rocks

Hors ligne

#33 05/04/2009 16:33:52

ambulance69
Membre
Inscription : 04/04/2009
Messages : 182
Site Web

Re : Comment faire un formulaire avec Zite

Voici mon formulaire:
dans la page Accueil:

<?
$to = "dest1, dest2, ...";
// Remplacer les dest1.... par l'adresse mail des destinataires du formulaire
$sujet = $_POST['sujet'];

if (count($_POST)) {
   // Formulaire reçu...
   // On envoie les infos
   $msg = '';
   foreach($_POST as $k => $v) $msg .= "\n$k : $v";
   mail($to, $sujet, $msg);
   // On affiche merci
   print $zite->get_content(merci, true);
} else {
   // On affiche le formulaire
   print $zite->get_content(formulaire, true);
}
?>

Dans la page formulaire:

<h1>Formulaire de contact</h1>
<th colspan="2">Tous les champs sont obligatoires.</th><br><br>
<script type="text/javascript" src="verification_formulaire.js"></script>
//script qui vérifie la validité des mails et la présence de tou les champs obligatoires
<form action="contact.html" method="post" onsubmit="return valideForm()">
<table>
  <tr><td class="info">Votre email : *</td><td class="champ"><input name="email" type="text" size="50"></td></tr>
  <tr><td class="info">Confirmez votre email : *</td><td class="champ"><input name="email2" type="text" size="50" value="et oui encore une fois..."></td></tr>
  <tr><td class="info">Sujet : *</td><td class="champ"><input name="sujet" type="text" size="50"></td></tr>
  <tr>
    <td class="contenu">Votre message*</td>
	<td class="contenant"><textarea name="message" cols="50" rows="20"></textarea></td>
  </tr>
  <tr><th colspan="1">
    <td class="lesboutons"><input type="reset" value="Annuler">
	<input type="submit" value="Envoyer"></td></th>
  </tr>
</table>
</form>

Il fonctionne très bien. C'est une adaptation pour zite de "contact.php" de aspirin:
http://aspirine.org/contact/

Mon seul souci c'est qu'avec la version d'aspirin, l'expéditeur du mail est l'adresse mail rentrée dans le formulaire par l'utilisateur, alors qu'avec les modif que j'ai faite, l'expéditeur du mail est mon serveur.
Comment faire sous zite pour que l'expéditeur du mail soit le mail entré dans le formulaire?
C'est plus pratique pour répondre!
Merci

Hors ligne

#34 06/04/2009 20:48:39

ambulance69
Membre
Inscription : 04/04/2009
Messages : 182
Site Web

Re : Comment faire un formulaire avec Zite

Personne ne peut m'aider? sad

Hors ligne

#35 07/04/2009 12:19:18

Renaud
Membre
Inscription : 30/01/2007
Messages : 306

Re : Comment faire un formulaire avec Zite

Il ne faut pas que l'expéditeur soit l'email entré dans le formulaire, c'est mal. Par contre tu peux faire en sorte que la réponse soit envoyé à cette adresse. Il suffit d'ajouter ceci avant l'appel à la fonction mail :

$headers = 'Reply-To: '.$_POST['email']."\n";

Puis tu modifie la fonction mail ainsi :

mail($to, $sujet, $msg, $headers);

Tu peux mettre d'autres en-têtes, mais avec discernement... et aussi tester que les 2 mails saisis soient les mêmes, valides, etc...


Ubuntu Rocks

Hors ligne

#36 10/04/2009 00:39:15

ambulance69
Membre
Inscription : 04/04/2009
Messages : 182
Site Web

Re : Comment faire un formulaire avec Zite

Merci!
La vérif de la validité du mail, et que les 2 soient identiques se fait par un petit script en validant le formulaire.

Hors ligne

#37 14/04/2009 19:32:16

Laurent
Membre
Inscription : 14/04/2009
Messages : 6

Re : Comment faire un formulaire avec Zite

Bonjour

J'ai beau faire et refaire ma page en faisant atention aux points cités auparavant, mais je n'arrive pas à afficher autre chose que :

$v) $msg .= "n$k : $vSOURCE"; mail('mon@mail.com', 'Message de mon zite', $msg); // On affiche merci print $zite->get_content(1166194279, true); } else { // On affiche le formulaire print $zite->get_content(1239725422, true); } ?>

Le code que j'utilise est le suivant :

<?
if (count($_POST)) {
// Formulaire reçu...
// On envoie les infos
$msg = '';
foreach($_POST as $k => $v) $msg .= "n$k : $vSOURCE";    mail('mon@mail.com', 'Message de mon zite', $msg);
// On affiche merci
print $zite->get_content(1166194279, true); }
else {   
// On affiche le formulaire   
print $zite->get_content(1239725422, true); }
?>

Par contre j'affiche parfaitement la page formulaire.
Je suis en local, je test et je prépare avant la mise en ligne

Comme d'autres réussissent, je voudrai bien savoir quel ce satané point que je foire !

Merci

Hors ligne

#38 14/04/2009 20:24:31

ambulance69
Membre
Inscription : 04/04/2009
Messages : 182
Site Web

Re : Comment faire un formulaire avec Zite

Laurent a écrit :

Bonjour

J'ai beau faire et refaire ma page en faisant atention aux points cités auparavant, mais je n'arrive pas à afficher autre chose que :

$v) $msg .= "n$k : $vSOURCE"; mail('mon@mail.com', 'Message de mon zite', $msg); // On affiche merci print $zite->get_content(1166194279, true); } else { // On affiche le formulaire print $zite->get_content(1239725422, true); } ?>

Le code que j'utilise est le suivant :

<?
if (count($_POST)) {
// Formulaire reçu...
// On envoie les infos
$msg = '';
foreach($_POST as $k => $v) $msg .= "n$k : $vSOURCE";    mail('mon@mail.com', 'Message de mon zite', $msg);
// On affiche merci
print $zite->get_content(1166194279, true); }
else {   
// On affiche le formulaire   
print $zite->get_content(1239725422, true); }
?>

Par contre j'affiche parfaitement la page formulaire.
Je suis en local, je test et je prépare avant la mise en ligne

Comme d'autres réussissent, je voudrai bien savoir quel ce satané point que je foire !

Merci

chez moi non plus ça marche pas en local, mais en ligne c'est ok.
remplace les numéro en rouge par ceux de ta page "merci"

Hors ligne

#39 14/04/2009 20:49:20

Laurent
Membre
Inscription : 14/04/2009
Messages : 6

Re : Comment faire un formulaire avec Zite

Salut
Merci pour la réponse. Je verrais ça lors de la mise en ligne.
Pour le dernier permalien "Merci" je ne l'ai pas encore réalisé, c'est pour ça que le "numéro" n'est pas le bon !
En tout cas sur Zite depuis 2 jours, je m'éclate bien. Bravo Renaud.

Dernière modification par Laurent (14/04/2009 20:49:52)

Hors ligne

#40 14/04/2009 21:08:40

ambulance69
Membre
Inscription : 04/04/2009
Messages : 182
Site Web

Re : Comment faire un formulaire avec Zite

Laurent a écrit :

Le code que j'utilise est le suivant :

<?
if (count($_POST)) {
// Formulaire reçu...
// On envoie les infos
$msg = '';
foreach($_POST as $k => $v) $msg .= "n$k : $vSOURCE";    mail('mon@mail.com', 'Message de mon zite', $msg);

foreach($_POST as $k => $v) $msg .= "n$k : $vSOURCE"
le code exact est:
foreach($_POST as $k => $v) $msg .= "n$k : $v"
que vient faire SOURCE ici?

Hors ligne

#41 14/04/2009 22:44:10

Laurent
Membre
Inscription : 14/04/2009
Messages : 6

Re : Comment faire un formulaire avec Zite

Salut

SOURCE  est venu s'intercaler lors de mes nombreux essai (je m'agace vite roll), je ne l'avais même pas vu.
Mais ça ne change rien en local, je testerai à la mise en ligne.
Merci de ton aide.

Hors ligne

#42 27/10/2009 19:09:03

berticoyote
Membre
Inscription : 15/09/2009
Messages : 175

Re : Comment faire un formulaire avec Zite

Salut à tous....

Je rebondis sur la discussion car je suis, moi aussi en train de créer un formulaire pour un site zite.

Apparemment en suivant vos indications tout roule... mon seul problème (et qui vient de mon incompétence en php) c'est que dans le mail qui est reçu après l'envoi du formulaire, tous les champs sont à la suite séparés par un "n" (ex de message reçu tel quel : nNom : TARTENPIONnPrénom : BobbynEmail : tartenpion@neuf.frnTéléphone : 04 xx xx xx xxnSon_message :  jadorezitenSubmit : Envoyer)

et non l'un au dessus de l'autre ce qui serait tout de même plus propre !... (je vois même qu'il affiche la fonction submit !.... )... je viens donc faire appel à vos lumières, d'avance merci

Hors ligne

#43 27/10/2009 19:28:47

Fredo42
Membre
Inscription : 03/10/2009
Messages : 470
Site Web

Re : Comment faire un formulaire avec Zite

bonsoir,
perso j'ai récupéré le code donné par ambulance69 ici:
http://www.zitecms.org/zite/forum/viewt … 1705#p1705
je l'ai modifié pour remplacer la vérification du formulaire en javascript par une vérif en php et ça fonctionne très bien...
Mets nous le code (php, pas html) que tu as mis, il doit y avoir une petite erreur de ponctuaction quelque part... un " à la place d'un ' ou inversement...


Mieux vaut poser une question et passer pour un con, que se taire et le rester...

Hors ligne

#44 28/10/2009 18:37:31

berticoyote
Membre
Inscription : 15/09/2009
Messages : 175

Re : Comment faire un formulaire avec Zite

Salut !...

merci pour ta réponse. Effectivement je crois avoir aussi utilisé le code de ambulance69 mais bon surement une erreur de ma part

Voila pour le code utilisé

 
<?
if (count($_POST)) {
   // Formulaire reçu...
   // On envoie les infos
   $msg = '';
   foreach($_POST as $k => $v) $msg .= "n$k : $v";
   mail('un.ctou@gmail.com', 'Inscription - repreneur', $msg);
   // On affiche merci
   print $zite->get_content(merci, true);
} else {
   // On affiche le formulaire
   print $zite->get_content(repreneur_contact, true);
}
?>

merci

Hors ligne

#45 28/10/2009 19:08:12

Fredo42
Membre
Inscription : 03/10/2009
Messages : 470
Site Web

Re : Comment faire un formulaire avec Zite

Bonsoir,
Voila l'erreur:

<?
if (count($_POST)) {
   // Formulaire reçu...
   // On envoie les infos
   $msg = '';
   foreach($_POST as $k => $v) $msg .= "\n$k : $v";
   mail('un.ctou@gmail.com', 'Inscription - repreneur', $msg);
   // On affiche merci
   print $zite->get_content(merci, true);
} else {
   // On affiche le formulaire
   print $zite->get_content(repreneur_contact, true);
}
?>


Mieux vaut poser une question et passer pour un con, que se taire et le rester...

Hors ligne

#46 28/10/2009 19:29:31

berticoyote
Membre
Inscription : 15/09/2009
Messages : 175

Re : Comment faire un formulaire avec Zite

merci, je viens effectivement de m'en rendre compte de mon côté (bien que je ne sois pas fort en php, juste en lisant quelques infos sur des forums.... mais du coup, je comprends et me retrouve en face d'un second probleme incompréhensible celui ci....
lorsque je copie mon code en mode source et lorsque j'enregistre le fameux "\" disparait !.... j'ai fait plusieurs essais .... idem à chaque fois.... !
Rien ne bouge à l'enregistrement sauf ce "\" qui saute ???????

Du coup je me suis dit que je vais aller directement copier mon code dans le fichier txt correspondant dans le dossier zdata !...

c'est encore pire... il me supprime les <? et ?> du coup le code est inutilisable !...

un probleme de tiny ?????......

Hors ligne

#47 28/10/2009 19:34:33

berticoyote
Membre
Inscription : 15/09/2009
Messages : 175

Re : Comment faire un formulaire avec Zite

Bon je me réponds à moi même... j'ai trouvé la solution pour contrer le problème... en mode source toujours, au lieu de mettre un seul "\", j'en met deux à la suite "\\" ....
du coup, quand j'enregistre, il en fait sauter un, et il en reste encore un opérationnel !...

mais ça ne m'explique toujours pas d'où vient le problème !...

Enfin si ça peut aider quelqu'un qui aurait le même souci ;-)

Hors ligne

#48 28/10/2009 20:43:17

berticoyote
Membre
Inscription : 15/09/2009
Messages : 175

Re : Comment faire un formulaire avec Zite

Encore moi sorry !

Maintenant que tout marche à peu près bien, est ce que quelqu'un sait comment faire pour le formulaire une fois envoyé ne soit pas considéré comme spam (par gmail en particulier) ...
et si on peut changer le nom de l'envoyeur, en effet les mails arrivent comme ceci from : anonymous@nom_du_serveur.com et cet "anonymous" ne me plait pas vraiment !

Merci

Hors ligne

#49 23/02/2010 13:08:26

bmael
Membre
Lieu : Morbihan
Inscription : 08/06/2007
Messages : 128
Site Web

Re : Comment faire un formulaire avec Zite

@berticoyote

Il me semble que les robots anti-spam font la chasse aux mails sans nom et mail de l'expéditeur. Il faudrait ajouter les champs dans le formulaire.

Moi j'ai un problème. Quelque soit la technique utilisée : celle de Renaud au début de ce poste ou celle de ambulance69, j'ai invariablement le même résultat : "Désolé, la page demandée n'existe pas" quand je valide le formulaire. Pour faire simple j'ai laissé "merci" pour le nom de la page "merci".

<?
if (count($_POST)) {
   // Formulaire reçu...
   // On envoie les infos
   $msg = '';
   foreach($_POST as $k => $v) $msg .= "\n$k : $v";
   mail('bmael_at_eikona.fr', 'Message du site', $msg);
   // On affiche merci
   print $zite->get_content(merci, true);
} else {
   // On affiche le formulaire
   print $zite->get_content(formulaire, true);
}
?>

Hors ligne

#50 23/02/2010 14:21:48

snypi
Moderateurs
Inscription : 11/03/2008
Messages : 1 235
Site Web

Re : Comment faire un formulaire avec Zite

j'ai utiliser un autre système proposer par fredo 42 http://www.zitecms.org/zite/forum/viewt … id=556&p=2
pour éviter que le mail soit reçus dans le spam : on appose un texte devant le sujet et on ajoute dans la gestion des filtres de votre messagerie que tous les messages ayant comme mot cle (ici exemple from zite smile ne soit pas considérer comme spam
de plus dans ce code il y à une obligation de tapez 2 fois sont mail ce qui évite de récupérer un mail erroné
et vous recevez le mail avec l'email de l'expéditeur

<?php
$destinataire = 'votre_mail@FAI';
$sujet = $_POST['sujet'];
$email=$_POST['email'];
$email2=$_POST['email2'];
$nom=$_POST['nom'];
$message=$_POST['message'];
$newsletter=$_POST['newsletter'];
$headers = 'From: <'.$email.'>' . "\r\n";

$messerr='';
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
  $messerr=$messerr."Adresse mail considérée comme NON valide.".'<br>';
}
if ($email!=$email2) {
  $messerr=$messerr."Les 2 adresses mails ne sont pas identiques.".'<br>';
}
if ($sujet=='') {
  $messerr=$messerr."Merci de mettre un sujet.".'<br>';
}
if ($message=='') {
  $messerr=$messerr."Le but de cette page est d'envoyer un message!! Alors mettez-en un! Merci.";
}
if ($nom=='') {
  $messerr=$messerr."Merci d'indiquer votre nom.";
}
if (isset($_POST['envoi']))
  {
  if ($messerr == '')
    {
    $sujet = "texte pour filtre ex : from zite: " .html_entity_decode($sujet);
    $message = html_entity_decode($message);
    $message = str_replace('\'',"\'",$message);
    $message = str_replace('’',"\'",$message);
    $message = str_replace('<br>','',$message);
    $message = str_replace('<br />','',$message);
    $message = "message de ".$nom."\n".$message;
    $message = "newsletter ".$newsletter."\n".$message;
    if (mail($destinataire, $sujet, $message, $headers))
      {
      echo "L'envoi du mail a enfin réussi!!! BRAVO."."\n";
      }
    else
      {
      echo "L'envoi du mail a échoué, veuillez réessayer SVP."."\n";
      }
    }
  else
    {
    echo '<h3><font color=red>'.$messerr.'</font></h3>';
    }
  }

if (($messerr) || (!isset($_POST['envoi'])))
  {
        // afficher le formulaire

echo '        <h1>Formulaire de contact</h1>'."\n";
echo '<th colspan="2">Tous les champs sont obligatoires.</th><br><br>'."\n";
echo '<form action="" method="post" >'."\n";
echo '<table>'."\n";
echo '  <tr><td class="info">Votre email : </td><td class="champ"><input name="email" type="text" size="66"></td></tr>'."\n";
echo '  <tr><td class="info">Confirmez votre email : </td><td class="champ"><input name="email2" type="text" size="66" value="et oui encore une fois..."></td></tr>'."\n";

echo '  <tr><td class="info">Votre Nom : </td><td class="champ"><input name="nom" type="text" size="66"></td></tr>'."\n";

echo '  <tr><td class="info">Sujet : </td><td class="champ"><input name="sujet" type="text" size="66"></td></tr>'."\n";
echo '  <tr>'."\n";
echo '    <td class="contenu">Votre message</td>'."\n";
echo '  <td class="contenant"><textarea name="message" cols="50" rows="20"></textarea></td></tr>'."\n";
echo '  <tr><th colspan="1">'."\n";
echo '    <td class="lesboutons"><input type="reset" value="Annuler">'."\n";
echo '  <input type="submit" name="envoi" value="Envoyer"></td></th></tr>'."\n";
echo '</table>
<p><input type="checkbox" name="newsletter" id="newsletter" /> <label for="newsletter">souhaitez vous recevoir notre newsletter</label></p></form>'."\n";
  }
?>

en espérant que ca aide


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

Pied de page des forums