Formulaire de contact sur Kompozer

Le premier forum francophone sur l'éditeur de pages Web multiplateforme (Linux, Mac OS X, Windows) qui monte… KompoZer, héritier de Nvu, permet de créer vos pages Web graphiquement (wysiwyg) sans aucune connaissance du langage HTML.

Modérateur : chinon37

Répondre
butry
Arias
Messages : 3
Inscription : 23 mars 2014, 18:33

Formulaire de contact sur Kompozer

Message par butry »

Bonjour,
J'ai créé un formulaire de contact sur Kompozer version 08B3 (avec les champs et le bouton ENVOYER) mais je n'arrive pas à relier le bouton ENVOYER à mon adresse email. Où saisir mon adresse email ? Quelle est la méthode ? Peut-on m'aider ? Merci par avance
Votre Navigateur : Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; MASEJS)
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Re: Formulaire de contact sur Kompozer

Message par Ymai »

Bonjour
butry a écrit :Bonjour,
J'ai créé un formulaire de contact sur Kompozer version 08B3 (avec les champs et le bouton ENVOYER) mais je n'arrive pas à relier le bouton ENVOYER à mon adresse email. Où saisir mon adresse email ? Quelle est la méthode ? Peut-on m'aider ? Merci par avance
Pour établir un lien vers une adresse mail, il suffit d'utiliser la syntaxe "mailto:adressemail.com" (sans les guillemets) lors de la création d'un lien.
Le souci est que cela ne va faire que provoquer l'ouverture du logiciel de courrier électronique éventuellement installé.
Ce qui ne sera sans doute pas adéquat pour un formulaire de contact.

Si PHP est disponible, quelques éléments d'information peuvent être trouvés là http://info.sio2.be/kpz/5/ pour resoudre la question. Ne pas prendre les mises en garde trop à la légère: sans protection supplémentaire, ce type de formulaire est un vrai pot de miel pour les robots spammeurs.
Votre Navigateur : Mozilla/5.0 (Android; Tablet; rv:28.0) Gecko/28.0 Firefox/28.0
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
butry
Arias
Messages : 3
Inscription : 23 mars 2014, 18:33

Re: Formulaire de contact sur Kompozer

Message par butry »

Merci pour la réponse mais cela veut dire quoi " si PHP est disponible " ? Il faut que j'installe EasyPhp sur mon PC ?
Votre Navigateur : Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; MASEJS)
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Re: Formulaire de contact sur Kompozer

Message par Ymai »

Bonjour
butry a écrit :Merci pour la réponse mais cela veut dire quoi " si PHP est disponible " ? Il faut que j'installe EasyPhp sur mon PC ?
S'il s'agit simplement d'une utilisation en local ou en Intranet, c'est bien ce qu'il faudra faire.
S'il s'agit d'une utilisation sur l'Internet, il faut que l'hébergeur offre un serveur avec PHP installé. Ce qui est extrêmement courant, actuellement.
Votre Navigateur : Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:26.0) Gecko/20100101 Firefox/26.0
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
butry
Arias
Messages : 3
Inscription : 23 mars 2014, 18:33

Re: Formulaire de contact sur Kompozer

Message par butry »

Pas de souci pour le PHP chez l'hébergeur.
J'ai suivi attentivement les conseils donnés dans http://info.sio2.be/kpz/5/ mais cela ne marche pas.
Pour faire le + simple possible, voilà ce que j'ai fait :

j'ai créé sur Kompozer un fichier Formulaire.php puis j'ai fait Insertion/Formulaire/Définir un formulaire et j'ai rempli les 3 cases vides ( la 1ere case s'appelle formulaire, la 2e case s'appelle Envoi.php. et la 3e POST. Puis j'ai créé un seul champ à remplir "NOM". Jusque-là pas de souci
Puis j'ai créé un fichier vierge au nom de Envoi.php, et dans ce fichier j'ai fait Insertion/code Php et j'ai saisi $np = $ POST['nom']; echo "Votre nom est $np <br/>";
J'ai mis ces 2 fichiers chez l'hébergeur mais quand je lance ma page Formulaire.php sur internet et que je remplis le champ "Nom", le fichier Envoi.php apparait en Page Web introuvable erreur 404.

Où je me suis planté ?
Le site http://info.sio2.be/kpz/5/ indique :
" •Démarrer la conception d'une nouvelle page HTML à l'aide de l'éditeur de texte. Veille à ce que les en-têtes de la page soient corrects (à vérifier sur le modèle de la page formulaire.html)
•Enregistrer cette page sous le nom envoi.php "
Pourquoi l'éditeur de texte ? Notepad ?

J'avoue ne pas comprendre la relation à faire entre l'éditeur de texte et Kompzer.

Merci 1 000 fois d'avance
Votre Navigateur : Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; MASEJS)
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Re: Formulaire de contact sur Kompozer

Message par Ymai »

Bonjour
butry a écrit :Pas de souci pour le PHP chez l'hébergeur.
J'ai suivi attentivement les conseils donnés dans http://info.sio2.be/kpz/5/ mais cela ne marche pas.
Pour faire le + simple possible, voilà ce que j'ai fait :

j'ai créé sur Kompozer un fichier Formulaire.php puis j'ai fait Insertion/Formulaire/Définir un formulaire et j'ai rempli les 3 cases vides ( la 1ere case s'appelle formulaire, la 2e case s'appelle Envoi.php. et la 3e POST. Puis j'ai créé un seul champ à remplir "NOM". Jusque-là pas de souci
Puis j'ai créé un fichier vierge au nom de Envoi.php, et dans ce fichier j'ai fait Insertion/code Php et j'ai saisi $np = $ POST['nom']; echo "Votre nom est $np <br/>";
J'ai mis ces 2 fichiers chez l'hébergeur mais quand je lance ma page Formulaire.php sur internet et que je remplis le champ "Nom", le fichier Envoi.php apparait en Page Web introuvable erreur 404.
N'y a-t-il pas la moindre différence entre le nom du fichier "envoi.php" et le nom déclaré dans la page "formulaire.php". Une chose qui m'ennuie un peu, c'est l'usage des majuscules. Une majuscule n'est pas égale à une minuscule.
Où je me suis planté ?
Le site http://info.sio2.be/kpz/5/ indique :
" •Démarrer la conception d'une nouvelle page HTML à l'aide de l'éditeur de texte. Veille à ce que les en-têtes de la page soient corrects (à vérifier sur le modèle de la page formulaire.html)
lapsus. Cette page n'existe pas. Mais il s'agit bien de la page dans laquelle se trouve le formulaire. À rectifier dans le tuto...
•Enregistrer cette page sous le nom envoi.php "
Pourquoi l'éditeur de texte ? Notepad ?
Non, même pas. KompoZer est lui-même éditeur de texte.
Sinon, de toute façon, ne pas tenter d'utiliser Notepad; luis préférer Notepad++
J'avoue ne pas comprendre la relation à faire entre l'éditeur de texte et Kompzer.

Merci 1 000 fois d'avance
Votre Navigateur : Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; MASEJS)
Votre Navigateur : Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:26.0) Gecko/20100101 Firefox/26.0
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
palma
Arias
Messages : 3
Inscription : 07 juin 2014, 17:03

Re: Formulaire de contact sur Kompozer

Message par palma »

Bonjour,
j'ai déjà fait un site avec kompozer sans problème, tout est très simple; par contre je veux y ajouter une page de réservation de chambres, et là c'est la cata pour le formulaire. J'ai suivi un tuto sur http://info.sio2.be/kpz/5/2.php, construit une première page enregistrée sous "formulaire.php", et une deuxième copie de la première, sans le formulaire, appelée "envoi.php" avec un script php que j'ai écrit d'après le tuto, mais comme je n'y comprends rien du tout, je suppose que c'est n'importe quoi puisque ça ne fonctionne pas du tout .... je reçois ce message quand j'essaie d'envoyer le formulaire :
" Parse error: syntax error, unexpected T_LNUMBER in /htdocs/public/www/envoi.php on line 48 "

Est-ce qu'une âme charitable pourrait me venir en aide?
Voilà le script en question :

$nom = htmlentities($_POST['nom']);
$prenom = htmlentities($_POST['prenom']);
$telephone = htmlentities($_POST['telephone']);
$email = htmlentities($_POST['email']);
$double = htmlentities($_POST['double']);
$twin = htmlentities($_POST['twin']);
$triple 3x1 = htmlentities($_POST['triple 3x1']);
$triple2+1 = htmlentities($_POST['triple2+1']);
$du = htmlentities($_POST['du']);
$nuits = htmlentities($_POST['nuits']);
$message = htmlentities($_POST['message']);
$envoyer = htmlentities($_POST['envoyer']);
echo "Nom du client : $nom <br />";
echo "Prenom : $prenom <br />";
echo "Telephone : $telephone <br />";
echo "Email : $email <br />";
echo "Chambres doubles : $double<br />";
echo "Chambres twin : $twin <br />";
echo "Chambre triple 3x1 : $triple 3x1 <br />";
echo "Chambres triples2+1 : $triple2+1 <br />";
echo "Date d'arrivee : $du <br />";
echo "Nombre de nuits : $nuits <br />";
echo "Message $message <br />";
echo "Validation $envoyer<br />";
$message = $nom."\n";
$message = $prenom."\n";
$message = $telephone."\n";
$message = $email."\n";
$message = $double."\n";
$message = $twin."\n";
$message = $triple 3x1."\n";
$message = $triple2+1 ."\n";
$message = $du."\n";
$message = $nuits."\n";
$message = $message."\n";
$message = $envoyer."\n";
mail ("monemail@gmail.com", "Message", $message, "From: $Nom");
echo "Nous vous remercions de votre message et vous répondrons dès que possible; <br />";
Votre Navigateur : Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; MASEJS)
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Re: Formulaire de contact sur Kompozer

Message par Ymai »

Bonjour
palma a écrit : " Parse error: syntax error, unexpected T_LNUMBER in /htdocs/public/www/envoi.php on line 48 "
Quelle est l'instruction de ladite ligne 48? Là, c'est difficile... D'autant que le script tel que présenté ne compte pas 48 lignes.
palma a écrit :Voilà le script en question :

$message = $nom."\n";
$message = $prenom."\n";
$message = $telephone."\n";
$message = $email."\n";
$message = $double."\n";
$message = $twin."\n";
$message = $triple 3x1."\n";
$message = $triple2+1 ."\n";
$message = $du."\n";
$message = $nuits."\n";
$message = $message."\n";
$message = $envoyer."\n";
Il y a au moins un souci là: à chaque ligne, le contenu précédent de la variable $message est remplacé par un nouveau contenu. à la fin, il ne reste que ce qu'il y avait dans $envoyer. Il faudrait écrire
$message .= $machinChose."\n";
Le "." fait toute la différence: tout est ajouté au contenu précédent...
Votre Navigateur : Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Re: Formulaire de contact sur Kompozer

Message par Ymai »

Je doute que ceci soit correct

$message = $triple 3x1."\n";

Un nom de champ ne peut contenir un caractère "espace".
Le système cherche la variable $triple puis tombe sur le nombre 3 qui n'a rien à faire là.
Ce qui serait possible, c'est un champ qui s'appellerait "triple3x1" (sans espace)
Votre Navigateur : Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
palma
Arias
Messages : 3
Inscription : 07 juin 2014, 17:03

Re: Formulaire de contact sur Kompozer

Message par palma »

Merci beaucoup pour vos réponses ! Malheureusement je n'ai pas beaucoup progressé, j'ai rajouté les "." et enlevé les espaces mais rien de mieux.....
J'ai modifié la page en entrant ce script
$nom = htmlentities($_POST['nom']);
$prenom = htmlentities($_POST['prenom']);
$telephone = htmlentities($_POST['telephone']);
$email = htmlentities($_POST['email']);
$double = htmlentities($_POST['double']);
$twin = htmlentities($_POST['twin']);
$triple3x1 = htmlentities($_POST['triple3x1']);
$triple2+1 = htmlentities($_POST['triple2+1']);
$du = htmlentities($_POST['du']);
$nuits = htmlentities($_POST['nuits']);
$message = htmlentities($_POST['message']);
$envoyer = htmlentities($_POST['envoyer']);
echo "Nom du client : $nom <br />";
echo "Prenom : $prenom <br />";
echo "Telephone : $telephone <br />";
echo "Email : $email <br />";
echo "Chambres doubles : $double<br />";
echo "Chambres twin : $twin <br />";
echo "Chambre triple3x1 : $triple3x1 <br />";
echo "Chambres triples2+1 : $triple2+1 <br />";
echo "Date d'arrivee : $du <br />";
echo "Nombre de nuits : $nuits <br />";
echo "Message $message <br />";
echo "Validation $envoyer<br />";
$message = $nom."\n";
$message .= $prenom."\n";
$message .= $telephone."\n";
$message .= $email."\n";
$message .= $double."\n";
$message .= $twin."\n";
$message .= $triple3x1."\n";
$message .= $triple2+1 ."\n";
$message .= $du."\n";
$message .= $nuits."\n";
$message .= $message."\n";
$message .= $envoyer."\n";
mail ("monemail@gmail.com", "Message", $message, "From: $Nom");
echo "Nous vous remercions de votre message et vous répondrons dès que possible; <br />";

Le résultat : Parse error: syntax error, unexpected '=' in /htdocs/public/www/envoi.php on line 47

Si je prends le code source de la page, la ligne 47 ne correspond pas au code php, voilà la fameuse ligne 47

<td style="background-color: rgb(241, 241, 192); height: 15px;"

Le script php ne commence qu'à la ligne 80...les autres pages du site ne présentent aucun problème et sont construites sur le même modèle...

Ce truc me rend dingue, HHHHHEEEEEEELLLLLLPPPPP ;-(
Votre Navigateur : Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; MASEJS)
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Re: Formulaire de contact sur Kompozer

Message par Ymai »

Bonjour
Désolé, je n'ai pas pris le temps d'analyser le code source plus avant. Là, je vois immédiatement un deuxième souci:

Code : Tout sélectionner

echo "Chambres triples2+1 : $triple2+1 <br />";
où l'interpréteur PHP va voir la variable $triple2 au contenu de laquelle il va tenter d'additionner 1. Ce n'est certainement pas l'objectif.
À nouveau, le signe "+" est interdit dans un nom de variable ou de champ.
Suggestion: appeler le champ "triple2Plus1".

Pour éviter plus d'aller et retours, serait-il possible d'avoir le texte intégral du fichier envoi.php à disposition quelque part et du fichier html contenant le formulaire? Par exemple sur http://pastebin.com
Votre Navigateur : Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
palma
Arias
Messages : 3
Inscription : 07 juin 2014, 17:03

Re: Formulaire de contact sur Kompozer

Message par palma »

Pastebin connais pas, on va tenter :
Le formulaire
http://pastebin.com/embed_js.php?i=A4vyRrEq
La page envoi
http://pastebin.com/embed_js.php?i=Jp2aHdiq

Merci
Votre Navigateur : Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; MASEJS)
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Re: Formulaire de contact sur Kompozer

Message par Ymai »

Bonjour
palma a écrit :Pastebin connais pas, on va tenter :
Le formulaire
http://pastebin.com/embed_js.php?i=A4vyRrEq
La page envoi
http://pastebin.com/embed_js.php?i=Jp2aHdiq

Merci
Je confirme qu'il n'y a plus de message d'erreur dès que le champ "triple2+1" est renommé en "triple2Plus1" (par exemple). Et, bien sûr, idem pour la variable $triple2+1 => $triple2Plus1.

Quelques difficultés sont peut-être à prévoir:
- les champs devraient être indiqués comme étant de type "text"

Code : Tout sélectionner

<input  size="1" name="nuits">
devrait être

Code : Tout sélectionner

<input type="text" size="1" name="nuits">
par exemple.
- penser que l'utilisateur moyen du formulaire sera, au moins, très bête, voire même de mauvaise volonté ou carrément malveillant.
Là, on peut envoyer le formulaire vide autant de fois que l'on veut.
C'est aussi ce que feront les robots spammeurs dès qu'ils découvriront le formulaire (sauf que ce ne sera pas vide mais rempli de liens publicitaires)
- penser à envoyer une confirmation par mail au client.
- améliorer la présentation du mail reçu
Nom
Pr&eacute;nom
t&eacute;l&eacute;phone
toto@hotmail.com
4
12

1
12/12/2012
3
Nom
Pr&eacute;nom
t&eacute;l&eacute;phone
toto@hotmail.com
4
12

1
12/12/2012
3

Envoyer
est un peu "service minimal"
et SURTOUT, protéger ce formulaire pour éviter qu'il soit utilisé à des fins malveillantes. Je pense que cette imprécation figure d'ailleurs dans le tuto utilisé...
Votre Navigateur : Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 8 invités