formulaire

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

SDU
Arias
Messages : 15
Inscription : 26 avr. 2006, 01:57

formulaire

Message par SDU »

Bonsoir,
qui pourrait m'aider dans mon formulaire ?
Je ne comprends pas comment cela fonctionne. J'ai certainement du faire une erreur quelque part...

la page où se trouve mon formulaire est :

http://www.santfeliulocation.com/contact.html

Merci par avance !
SDU

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
SDU
SDU
Arias
Messages : 15
Inscription : 26 avr. 2006, 01:57

Re: formulaire

Message par SDU »

Le 09/01/06
Bonsoir,
à nouveau je souhaiterais que quelqu'un puisse m'aider SVP.

J'ai essayé de bidouiller des trucs et si je fais un test lorsque j'appuie sur Envoyer, la fenêtre de mon logiciel de messagerie s'ouvre pour un envoi de message... ce n'est pas vraiment le résultat que j'escomptais.

Donc comment faut-il que je fasse pour qu'une fois le bouton Envoyer enclanché, les données m'arrivent sur ma messagerie ?

la page en question est http://www.santfeliulocation.com/contact.html

Je ne sais pas si je suis très claire !

Merci par avance et meilleurs voeux à tout le monde !
:shock: [/size]
SDU

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1[/quote]
SDU
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

Bonjour
Je pense que toutes informations utiles peuvent être trouvées là:
http://info.sio2.be/kpz/4
Merci de signaler les difficultés.
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
SDU
Arias
Messages : 15
Inscription : 26 avr. 2006, 01:57

Message par SDU »

Bonsoir,
merci pour ta réponse, je vais aller voir cela ce soir et je te dirai si j'ai des difficultés (à comprendre !) et à réaliser le truc.

Mais une question me vient à l'esprit, mon site est en html alors est-ce que je peux mettre du Php dedans ???

Je m'étais offert PhP et MySQL pour les Nuls mais même pour les nuls, ça me paraît très très compliqué !!!! Pourtant j'aime bien apprendre comment on se sert des logiciels et autres outils divers et variés, mais là... oups !

Je te tiens au courant,

encore merci
SDU

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
SDU
SDU
Arias
Messages : 15
Inscription : 26 avr. 2006, 01:57

Message par SDU »

Ymai a écrit :Bonjour
Je pense que toutes informations utiles peuvent être trouvées là:
http://info.sio2.be/kpz/4
Merci de signaler les difficultés.

Bonsoir, j'ai essayé mais je ne comprends pas il y a un truc qui ne fonctionne pas et je n'arrive pas à comprendre quoi !
Peux-tu aller voir cela ? Ca me rendrait un très grand service !

http://www.santfeliulocation.com/contact.php

Merci par avance,

SDU :shock:

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
SDU
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

Il y a clairement un souci dans le code de la page envoi.php.
Le compilateur la signale,

Code : Tout sélectionner

Parse error: parse error, unexpected ':', expecting ',' or ';' in envoi.php on line 9
mais il me paraît difficile de poser un diagnostic sans voir ledit code.
Une simple erreur de syntaxe; peut-être tout bêtement un ":" tapé à la place de ";", comme le laisse sous-entendre le message d'erreur. Peut-être autre chose...
Il faudrait plus d'information.
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
SDU
Arias
Messages : 15
Inscription : 26 avr. 2006, 01:57

Message par SDU »

Ymai a écrit :Il y a clairement un souci dans le code de la page envoi.php.
Le compilateur la signale,

Code : Tout sélectionner

Parse error: parse error, unexpected ':', expecting ',' or ';' in envoi.php on line 9
mais il me paraît difficile de poser un diagnostic sans voir ledit code.
Une simple erreur de syntaxe; peut-être tout bêtement un ":" tapé à la place de ";", comme le laisse sous-entendre le message d'erreur. Peut-être autre chose...
Il faudrait plus d'information.

Bonjour,
je t'envoie ci-dessous mon codage "source" de la page envoi.php, je crois avoir compris ce qu'il manque ("send" ?) mais je ne sais pas où le mettre :

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head><meta
id="_moz_prolog" content=""><meta id="_moz_prolog"
content=""><meta id="_moz_prolog" content=""><meta
id="_moz_prolog" content=""><meta id="_moz_prolog"
content=""><meta content="text/html; charset=UTF-8"
http-equiv="content-type"><title>envoi.php</title><meta
content="SD" name="author"></head>
<body style="direction: ltr;"><br><?php $np = htmlentities($_POST['nomPrenom']);
echo "Votre nom est $np <br />";
echo "Votre email est $np <br />":
echo "Votre message est $np <br />:
mail ("information@santfeliulocation.com", $message, "From: $np");
?></body></html>


Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
SDU
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

SDU a écrit :
Ymai a écrit :Il y a clairement un souci dans le code de la page envoi.php.
Le compilateur la signale,

Code : Tout sélectionner


<?php
$np = htmlentities($_POST['nomPrenom']);
echo "Votre nom est $np <br />";
echo "Votre email est $np <br />"[b][color=red]:[/color][/b]
echo "Votre message est $np <br />[color=red][b]:[/b][/color]
mail ("information@santfeliulocation.com", $message, "From: $np");
?>
</body></html>
[/quote][/quote]

Ben voilà, c'est bien ce que je pressentais: ":" à la place de ";" (en rouge).
Autre chose:
toutes les balises <meta id="_moz_prolog" content=""> devraient être virées. Elles sont ajoutées automatiquement lors du passage vers l'éditeur externe, dans certaines conditions (voir le fil consacré à ce sujet).
Elles n'ont aucun sens et nuisent à la validation du code.
On peut éviter leur intrusion en ajoutant le code
<?php //moz-protect ?>
sur la première ligne de code. 

[HS]N'importe quel autre commentaire dans <?php // ?> convient également. Mais certains esprits forts sur ce forum ont contesté la validité du premier que j'avais proposé.[/HS]
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
SDU
Arias
Messages : 15
Inscription : 26 avr. 2006, 01:57

Message par SDU »

Ymai a écrit :
SDU a écrit :
Ymai a écrit :Il y a clairement un souci dans le code de la page envoi.php.
Le compilateur la signale,

Code : Tout sélectionner


<?php
$np = htmlentities($_POST['nomPrenom']);
echo "Votre nom est $np <br />";
echo "Votre email est $np <br />"[b][color=red]:[/color][/b]
echo "Votre message est $np <br />[color=red][b]:[/b][/color]
mail ("information@santfeliulocation.com", $message, "From: $np");
?>
</body></html>
[/quote]

Ben voilà, c'est bien ce que je pressentais: ":" à la place de ";" (en rouge).
Autre chose:
toutes les balises <meta id="_moz_prolog" content=""> devraient être virées. Elles sont ajoutées automatiquement lors du passage vers l'éditeur externe, dans certaines conditions (voir le fil consacré à ce sujet).
Elles n'ont aucun sens et nuisent à la validation du code.
On peut éviter leur intrusion en ajoutant le code
<?php //moz-protect ?>
sur la première ligne de code. 

[HS]N'importe quel autre commentaire dans <?php // ?> convient également. Mais certains esprits forts sur ce forum ont contesté la validité du premier que j'avais proposé.[/HS][/quote][/quote]


________________________

Oui, merci j'ai vu et corrigé, mais il y a tjs un problème car si je fais un test, voilà l'erreur qu'on me met :

Parse error: parse error, unexpected '=', expecting ',' or ';' in envoi.php on line 10

et je ne comprends pas à quoi ça correspond !
Désolée de t'embêter mais vraiment, je ne comprends pas grand chose (comme tu auras pu le remarquer !)
SDU



[size=75]Message envoyé avec : [color=olive]Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1[/color][/size]
SDU
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

Si le code actuel est bien

Code : Tout sélectionner

<?php
$np = htmlentities($_POST['nomPrenom']);
echo "Votre nom est $np <br />";
echo "Votre email est $np <br />":
echo "Votre message est $np <br />:
mail ("information@santfeliulocation.com", $message, "From: $np");
?> 
je ne vois pas où se trouve le problème.
N'y aurait-il pas autre chose qui traînerait?
A nouveau, l'intégralité du code serait utile.

Autre chose: la version telle que présentée ci-dessus ne peut évidemment donner satisfaction.
La variable $np contient ce que l'utilisateur a indiqué pour son nom et son prénom: Marcel Dupont, par exemple.
La ligne

Code : Tout sélectionner

echo "Votre email est $np <br />"
écrira "Votre email est Marcel Dupont";
la ligne

Code : Tout sélectionner

echo "Votre message est $np <br />;
enverra "Votre message est Marcel Dupont".
Finalement, le mail contiendra comme seul message "Marcel Dupont" cependant que l'expéditeur annoncé sera "Marcel Dupont" (ouf, ça, c'est juste).

Si ce n'était pas volontaire, je crains qu'un tout petit passage par un peu de théorie soit nécessaire pour arriver au bout. :?
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Invité

Message par Invité »

Ymai a écrit :Si le code actuel est bien

Code : Tout sélectionner

<?php
$np = htmlentities($_POST['nomPrenom']);
echo "Votre nom est $np <br />";
echo "Votre email est $np <br />":
echo "Votre message est $np <br />:
mail ("information@santfeliulocation.com", $message, "From: $np");
?> 
je ne vois pas où se trouve le problème.
N'y aurait-il pas autre chose qui traînerait?
A nouveau, l'intégralité du code serait utile.

Autre chose: la version telle que présentée ci-dessus ne peut évidemment donner satisfaction.
La variable $np contient ce que l'utilisateur a indiqué pour son nom et son prénom: Marcel Dupont, par exemple.
La ligne

Code : Tout sélectionner

echo "Votre email est $np <br />"
écrira "Votre email est Marcel Dupont";
la ligne

Code : Tout sélectionner

echo "Votre message est $np <br />;
enverra "Votre message est Marcel Dupont".
Finalement, le mail contiendra comme seul message "Marcel Dupont" cependant que l'expéditeur annoncé sera "Marcel Dupont" (ouf, ça, c'est juste).

Si ce n'était pas volontaire, je crains qu'un tout petit passage par un peu de théorie soit nécessaire pour arriver au bout. :?
Merci pour toutes ces précisions,je pense que je vais reprendre le formulaire depuis le début car ainsi pourrais-je voir le tout.

Il est tout à fait certain qu'un peu de théorie me ferait du bien pour comprendre le pourquoi du comment car j'avoue que là je fais les choses sans trop comprendre... et ce n'est pas génial pour moi.

Je reprends donc tout depuis le début et si jamais j'ai (encore) un pb, je te tiens au courant.
SDU

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
SDU
Arias
Messages : 15
Inscription : 26 avr. 2006, 01:57

Message par SDU »

Anonymous a écrit :
Ymai a écrit :Si le code actuel est bien

Code : Tout sélectionner

<?php
$np = htmlentities($_POST['nomPrenom']);
echo "Votre nom est $np <br />";
echo "Votre email est $np <br />":
echo "Votre message est $np <br />:
mail ("information@santfeliulocation.com", $message, "From: $np");
?> 
je ne vois pas où se trouve le problème.
N'y aurait-il pas autre chose qui traînerait?
A nouveau, l'intégralité du code serait utile.

Autre chose: la version telle que présentée ci-dessus ne peut évidemment donner satisfaction.
La variable $np contient ce que l'utilisateur a indiqué pour son nom et son prénom: Marcel Dupont, par exemple.
La ligne

Code : Tout sélectionner

echo "Votre email est $np <br />"
écrira "Votre email est Marcel Dupont";
la ligne

Code : Tout sélectionner

echo "Votre message est $np <br />;
enverra "Votre message est Marcel Dupont".
Finalement, le mail contiendra comme seul message "Marcel Dupont" cependant que l'expéditeur annoncé sera "Marcel Dupont" (ouf, ça, c'est juste).

Si ce n'était pas volontaire, je crains qu'un tout petit passage par un peu de théorie soit nécessaire pour arriver au bout. :?
________________________________________

Bonsoir, bon j'ai tout repris depuis le début : ça marche à peu près... à peu près car j'ai bien des mails qui m'arrivent mais ils sont vides bien que je mette des données sur le site pour faire des tests !
Donc, y'a comme un problème encore et encore !

Voici le code source de ma page "envoi.php" :

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head><meta
 id="_moz_prolog" content=""><meta id="_moz_prolog"
 content=""><?php //moz-protect ?>
<meta content="text/html; charset=UTF-8"
 http-equiv="content-type"><title>envoi.php</title><meta
 content="SD" name="author"></head>
<body style="direction: ltr;"><br><?php $message = $np. "\n";
$message .=" \n";
mail ("information@santfeliulocation.com", "email", $message, "From: $np");
$np = htmlentities($_POST['nomPrenom']);
echo "Votre nom est $np <br />";
$email = htmlentities($_POST['email']);
echo "Votre email est $email <br />";
$message = htmlentities($_POST['message']);
echo "Votre message est $message <br />";?><?php //moz-protect ?></body></html>

[b]et si tu as besoin, voici le code source de la page "contact.php" :[/b]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html
 style="direction: ltr;" lang="fr-FR"><head><meta
 http-equiv="content-type" content="text/html; charset=UTF-8"
 lang="fr"><title>http://www.santfeliulocation.com/contact.php</title><meta
 name="Description" content="contact" dir="ltr"
 lang="fr-FR"><meta http-equiv="Content-Language"
 content="fr,en,es"><meta http-equiv="Pragma"
 content="no-cache"><meta name="identifier-url"
 content="http://www.santfeliulocation.com/contact.php"><meta
 name="AUTHOR" content="S.D."><meta name="SUBJECT"
 content="location saisonnière"><meta name="DESCRIPTION"
 content="santfeliulocation.com, contact"><meta
 name="KEYWORDS"
 content="santfeliulocation.com, Pour nous contacter"><meta
 name="REVISIT-AFTER" content="3 DAYS"><meta
 name="ROBOTS" content="All"><meta
 http-equiv="windows-target" content="top"><meta
 name="verify-v1"
 content="Jo9rSjWOMrS/Il73RzIAx6cqFAtfaCjT85ahOeUhxno="><meta
 http-equiv="windows-target" content="top"><meta
 content="contact" name="description"><style
 title="contacter" media="screen" type="text/css">
  body { border-style: outset;
    border-color: #ccffff #e5e5e5 #e5e5e5 #ccffff;
    border-width: 4px 8px 8px 4px;
    margin: 1px 3cm 3px;
    display: block;
    position: relative;
    font-family: Times New Roman;
    color: #000000;
    width: 768px ! important;
    left: 3cm ! important;
    right: 10cm ! important;
    background-color: #bfe2ff;
    height: 800px ! important;
    }

  adresse { font-family: French Script MT;
    font-size: 12pt;
    color: #000066;
    text-align: center;
    background-color: #bfe2ff;
    }

  h1 { border: 3px ridge #99ff99;
    font-size: 21pt;
    color: #000000;
    font-weight: bold;
    text-transform: none;
    text-align: center;
    background-color: #bfe2ff;
    font-family: Century Gothic;
    font-style: normal;
    }

  h2 { border-style: none;
    border-color: #ffffff;
    text-transform: none;
    text-align: center;
    font-weight: bold;
    display: block;
    position: relative;
    background-color: #bfe2ff;
    font-family: Century Gothic;
    font-style: normal;
    font-size: 12pt;
    color: #000099;
    }

  img { display: block;
    position: relative;
    background-color: #bfe2ff;
    }

  a { color: #3333ff;
    font-weight: bold;
    font-size: 12pt;
    background-color: #bfe2ff;
    font-family: Century Gothic;
    }

  a:hover { font-weight: bold;
    font-style: normal;
    text-transform: none;
    background-color: #bfe2ff;
    font-family: century gothic;
    }

  p { text-transform: none;
    background-color: #bfe2ff;
    font-family: Century Gothic;
    font-weight: bold;
    font-size: 12pt;
    color: #000099;
    font-style: normal;
    margin-left: 1px;
    }

  pre {  }

  form { margin-left: 1pt;
    }


</style><script language="javascript"
 type="text/javascript"><script language="JavaScript">
nom = "contact";
domaine = "santfeliulocation.com";
document.write('<a href="mailto:' + nom + '@' + domaine + '">');
document.write('contact</a>');
</script></head>
<body
 style="background-color: rgb(191, 226, 255); color: rgb(0, 0, 0); direction: ltr;"
 alink="#ee0000" link="#0000ee" vlink="#551a8b"><!--[if lt IE 7]<script src="scripts/ie7-standard.js"type="text/javascript"></script>[endif]--><!--[if lt IE 7]<script src="scripts/ie7-standard.js"type="text/javascript"></script>[endif]--><!--[if lt IE 7]<script src="scripts/ie7-standard.js"type="text/javascript"></script>[endif]--><div
 style="text-align: center;"><div
 style="text-align: center;"><br><table
 style="width: 70px; text-align: left; margin-left: auto; margin-right: auto;"
 cellspacing="1"> <tbody> <tr> <td
 align="center" nowrap="nowrap" valign="top"><a
 href="http://www.santfeliulocation.com/index.html"><img
 style="border: 0px solid ; width: 70px; height: 35px;"
 alt="Accueil-Home-Entrada"
 src="http://www.santfeliulocation.com/img/Gifs/boutonAccueil.jpg"></a></td></tr></tbody></table></div><h2>Pour
nous contacter</h2><div style="text-align: center;"><br><hr
 style="width: 100%; height: 2px;">&nbsp;</div>
<p><small>vous pouvez nous contacter en remplissant
&nbsp;le
formulaire ci-dessous :&nbsp;</small></p><hr
 style="width: 100%; height: 2px;"><form method="post"
 action="envoi.php" name="NousContacter"><table
 style="width: 100px; text-align: left; margin-left: auto; margin-right: auto;"
 cellpadding="2" cellspacing="2"><tbody><tr><td
 style="white-space: nowrap; text-align: left;"><p>Nom</p></td><td
 style="text-align: right;"><input size="90"
 name="nomPrenom"></td></tr><tr><td
 style="white-space: nowrap; text-align: left;"><p>Votre
adresse Email</p></td><td style="text-align: right;"><input
 size="90" name="email"></td></tr><tr><td
 style="text-align: left; white-space: nowrap;"><p>Message</p></td><td
 style="text-align: right;"><input maxlength="500"
 size="90" name="message"></td></tr></tbody></table><br><table
 style="width: 100px; text-align: left; margin-left: auto; margin-right: auto;"
 cellpadding="2" cellspacing="2"><tbody><tr><td
 style="text-align: center;"><input name="annulation"
 value="Annuler" type="reset"></td><td
 style="text-align: center;"><input name="envoyer"
 value="OK" type="submit"></td></tr></tbody></table></form>
</div></body></html>
Si tu peux regarder cela, ce serait très gentil,
SDU


Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
[NDM: edit / mise en forme
SDU
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Pour plus de lisibilité, inclus tes code dans une balise [ code ] :wink:
Tu devrais aussi penser à indenter ton code et enlever les balises inutiles pour le rendre plus lisible.

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta content="text/html; charset=UTF-8" http-equiv="content-type">
		<title>envoi.php</title>
		<meta content="SD" name="author">
	</head>
	<body style="direction: ltr;">

<?php
	$message = $np. "\n";
	$message .=" \n";
	mail ("information@santfeliulocation.com", "email", $message, "From: $np");
	$np = htmlentities($_POST['nomPrenom']);
	echo "Votre nom est $np <br />";
	$email = htmlentities($_POST['email']);
	echo "Votre email est $email <br />";
	$message = htmlentities($_POST['message']);
	echo "Votre message est $message <br />";
?>

	</body>
</html>
Ensuite, il faut te mettre à la place de la machine qui doit analyser ton code, et essayer de voir ce qui se passe.
Première ligne du code php:

Code : Tout sélectionner

$message = $np. "\n";
L'analyseur concatène $np avec \n (nouvelle ligne) et le mets dans $message. Question : que contient $message ? réponse : "\n" (car $np est vide à ce moment).
Ligne deux :

Code : Tout sélectionner

$message .=" \n";
On rajoute une nouvelle ligne à $message, qui contient maintenant 2 retours à la ligne. "\n\n".
Ligne trois:

Code : Tout sélectionner

mail ("information@santfeliulocation.com", "email", $message, "From: $np");
Un message est envoyé à l'adress indiquée, avec comme sujet "email" et comme contenu $message qui, rappelons-le, contient… 2 retour à la ligne.

Quand tu as des codes relativement courts comme ça, c'est toujours intéressant de jouer au débogueur :)

Il fallait donc remplir $np avant avec le contenu adéquat.

Autre remarque, pour les entêtes additionelles, je te conseille de faire attention à son contenu. Imagine une personne mal intentionnée, qui mettrait dans le formulaire un retour à la ligne, suivi de "To: touspleindepersonnes@spammer.com". L'effet serait, probablement (même s'il doit probablement y avoir des garde-fous, mais je m'y connais assez mal) de surpasser le champs "To" que tu as défini toi-même. Ton formulaire se transformerait donc en vaste outil de spam :?

Plus généralement, le contenu reçu est considéré comme non sur. Tu dois toujours vérifier ce qu'il contient et être sûr que ce sera supporté. Le cas échéant, le mail ne doit pas être envoyé.
Pense aussi au cas où l'utilisateur arriverait directement sur la page http://www.santfeliulocation.com/envoi.php : il ne faut pas envoyer d'email, mais plutôt afficher un message d'erreur. Idem si les champs sont mal remplis :wink:
Invité

Message par Invité »

calimo a écrit :Pour plus de lisibilité, inclus tes code dans une balise [ code ] :wink:
Tu devrais aussi penser à indenter ton code et enlever les balises inutiles pour le rendre plus lisible.

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta content="text/html; charset=UTF-8" http-equiv="content-type">
		<title>envoi.php</title>
		<meta content="SD" name="author">
	</head>
	<body style="direction: ltr;">

<?php
	$message = $np. "\n";
	$message .=" \n";
	mail ("information@santfeliulocation.com", "email", $message, "From: $np");
	$np = htmlentities($_POST['nomPrenom']);
	echo "Votre nom est $np <br />";
	$email = htmlentities($_POST['email']);
	echo "Votre email est $email <br />";
	$message = htmlentities($_POST['message']);
	echo "Votre message est $message <br />";
?>

	</body>
</html>
Ensuite, il faut te mettre à la place de la machine qui doit analyser ton code, et essayer de voir ce qui se passe.
Première ligne du code php:

Code : Tout sélectionner

$message = $np. "\n";
L'analyseur concatène $np avec \n (nouvelle ligne) et le mets dans $message. Question : que contient $message ? réponse : "\n" (car $np est vide à ce moment).
Ligne deux :

Code : Tout sélectionner

$message .=" \n";
On rajoute une nouvelle ligne à $message, qui contient maintenant 2 retours à la ligne. "\n\n".
Ligne trois:

Code : Tout sélectionner

mail ("information@santfeliulocation.com", "email", $message, "From: $np");
Un message est envoyé à l'adress indiquée, avec comme sujet "email" et comme contenu $message qui, rappelons-le, contient… 2 retour à la ligne.

Quand tu as des codes relativement courts comme ça, c'est toujours intéressant de jouer au débogueur :)

Il fallait donc remplir $np avant avec le contenu adéquat.

Autre remarque, pour les entêtes additionelles, je te conseille de faire attention à son contenu. Imagine une personne mal intentionnée, qui mettrait dans le formulaire un retour à la ligne, suivi de "To: touspleindepersonnes@spammer.com". L'effet serait, probablement (même s'il doit probablement y avoir des garde-fous, mais je m'y connais assez mal) de surpasser le champs "To" que tu as défini toi-même. Ton formulaire se transformerait donc en vaste outil de spam :?

Plus généralement, le contenu reçu est considéré comme non sur. Tu dois toujours vérifier ce qu'il contient et être sûr que ce sera supporté. Le cas échéant, le mail ne doit pas être envoyé.
Pense aussi au cas où l'utilisateur arriverait directement sur la page http://www.santfeliulocation.com/envoi.php : il ne faut pas envoyer d'email, mais plutôt afficher un message d'erreur. Idem si les champs sont mal remplis :wink:
Merci, je vais voir ce que je peux faire (tout en essayant de comprendre un peu mieux ce que je fais :? )...

en attendant et pour ne pas perdre de contacts éventuels, j'ai fait un simple lien vers 1 adresse mail lorsqu'on clique sur la touche "Contact" sur la 1e page...
Un autre truc que je ne comprends pas mais la raison est certainement dans ton explication, les mails que je reçois (mes tests) sont vides !! Ce n'est pas vraiment le résultat escompté non plus...

Faudrait vraiment que je suive une formation théorique/pratique sur le php car vraiment, ça me paraît bizarroïde !

Merci,
SDU

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Anonymous a écrit :Un autre truc que je ne comprends pas mais la raison est certainement dans ton explication, les mails que je reçois (mes tests) sont vides !! Ce n'est pas vraiment le résultat escompté non plus...
C'est exactement ce que je disais, quoique de manière peut-être pas assez claire :
Il fallait donc remplir $np avant avec le contenu adéquat.
Le code est exécuté de haut en bas, instruction par instruction (et sauf exception, c'est le cas pour tous les langages de programmation).
Ici, tu envoies l'email avant d'avoir récupéré les données. Je voulais donc dire que tu dois récupérer les données avant de les envoyer.

Code : Tout sélectionner

$np = htmlentities($_POST['nomPrenom']); 
Cette ligne se trouve après l'envoi du mail. Le mail est déjà parti, vide. Il n'y a pas de rétroaction possible, et cette variable ne peut pas être placée dans un mail qui est déjà parti et, si le réseau est rapide et l'interpréteur php lent, peut-être même déjà arrivé :wink:
Anonymous a écrit :Faudrait vraiment que je suive une formation théorique/pratique sur le php car vraiment, ça me paraît bizarroïde !
Disons que c'est d'une logique implacable. Forcément la logique, ce n'est pas toujours intuitif au premier abord.
Il existe pas mal de choses sur php. Par exemple
http://www.siteduzero.com/tuto-3-4-0-un ... c-php.html
:wink:
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité