mon formulaire de contact fonctionne pas!

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

bilbao
Salamandre
Messages : 49
Inscription : 27 juin 2007, 12:03

mon formulaire de contact fonctionne pas!

Message par bilbao »

bonjour,

j'ai fait un formulaire de contact qui ne fonctionne pas, quand j'appuie sur envoyer, ça fait rien :oops:

si quelqu'un peut me dire ce qu'il y a à modifier dans le code:
</div>
</div>
</div>
<div style="margin-left: 0px; width: 668px;" id="contenu"><br>
<br>
<br>
<form method="post" action="a.....@voila.fr"
name="contact">
<div style="text-align: left; margin-left: 40px;"><span
style="text-decoration: underline; font-weight: bold;">Formulaire
de contact:</span><br>
</div>
<br>
<div style="text-align: left; margin-left: 40px;">Nom:
&nbsp;&nbsp; &nbsp;&nbsp;<input size="50"
name="nom"><br>
Prénom: &nbsp;<input name="prenom"><br>
Fontion:&nbsp; <input name="fonction"><br>
Société:&nbsp; <input size="60" name="societe"><br>
Adresse: <input size="80" name="adresse"><br>
Code Postal:&nbsp;<input size="20" name="codepostal">
&nbsp;&nbsp;&nbsp; Ville: &nbsp; <input size="40"
name="ville"><br>
Pays: &nbsp; &nbsp; &nbsp; &nbsp; <input size="30"
name="pays"><br>
Téléphone:&nbsp;<input size="40" name="telephone">
<br>
Fax: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<input
size="40" name="fax">&nbsp;<br>
Email: &nbsp; &nbsp; &nbsp; &nbsp; <input size="60"
name="email"><br>
<br>
Message: <input style="width: 520px; height: 130px;"
name="message"><br>
<br>
<div style="text-align: center;"><input name="envoyer"
value="Envoyer" type="submit">&nbsp;</div>
<br>
<br>
</div>
<br>
<br>
</form>
<b style="font-weight: bold; color: white;"><span
style="font-size: 12pt; font-family: "Times New Roman";"><br>
<br>
</span></b><b style="font-weight: bold; color: white;"><span
style="font-size: 12pt; font-family: "Times New Roman";"></span></b><b><span
style="font-size: 18pt; font-family: "Times New Roman"; color: black;"></span></b><b><span
style="font-size: 13.5pt; font-family: "Times New Roman"; color: black;"></span></b></div>
<br>
</div>
<div style="text-align: center;" id="footer"><small
style="color: white; font-weight: bold;"><small>A*****
Copyright 2008</small></small><br>
</div>
</body>
</html>
[/code]

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

Message par Ymai »

Bonjour
<form method="post" action="a.....@voila.fr"
name="contact">
Je crois que cette méthode ne fonctionne qu'avec certains navigateurs (à confirmer).
Par contre, c'est une excellente façon d'exposer son adresse aux robots des spammeurs. :?
Il vaut vraiment mieux passer par un script dans un langage côté serveur (PHP, par exemple).[/quote]

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
bilbao
Salamandre
Messages : 49
Inscription : 27 juin 2007, 12:03

Message par bilbao »

"un script dans un langage côté serveur (PHP, par exemple)"

on fait comment?
je connais pas le php, et aussi est ce que tous les hébergeurs prennent le php?


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

Message par Ymai »

On peut faire comme ceci: http://info.sio2.be/kpz/5/index.php :D
Tous les hébergeurs n'acceptent pas PHP. Mais ça devient vraiment la norme.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
bilbao
Salamandre
Messages : 49
Inscription : 27 juin 2007, 12:03

Message par bilbao »

je comprends pas :oops:
sur le site, c'est ce que j'ai fait en premier lieu avec kompozer pour remplir le formulaire, alors pour le bouton de validation quand j'écris " valeur" envoyer, le bouton reste vide, il n'est pas écrit dessus envoyer.

ma méthode j'ai écris dans " action" mon adresse email avec "post", ça ne fonctionne pas.


Dans la méthode de ton site, il faut créer un fichier "envoi.php",

alors son code c'est:

Le texte final du script PHP est donc:

$np = htmlentities($_POST['nomPrenom']);
$sonde = $_POST['sondage'];
if (isset($_POST['membre']))
$mbr = $_POST['membre'];
else
$mbr = "Je ne suis pas membre";
echo "Votre nom est $np <br />";
echo "Vous avez aim&eacute $sonde <br />";
echo "Affiliation: $mbr<br />";
mail ("vous@votreFAI.com", "Sondage", $message, "From: $np");
echo "Votre avis vient de m'&ecirc;tre envoy&eacute; <br />";
je suppose dans mon cas que je dois le modifier comme ceci:
$np = htmlentities($_POST['nom']);
$np = htmlentities($_POST['Prénom']);
$np = htmlentities($_POST['Société']);
$np = htmlentities($_POST['Adresse']);
$np = htmlentities($_POST['code postal']);
$np = htmlentities($_POST['ville']);
$np = htmlentities($_POST['telephone']);
$np = htmlentities($_POST['fax']);
$np = htmlentities($_POST['message']);
mail ("vous@votreFAI.com", "Sondage", $message, "From: $np");
echo "Votre avis vient de m'&ecirc;tre envoy&eacute; <br />";
par contre pour le texte du message, en taille j'ai mis en largeur 95px et en hauteur 60px, et bien j'ai fait un essai, on peut ecrire à l'infini sur la première ligne et on arrive pas à passer à la 2ème ligne :oops: quand on essaye sur le clavier de faire "enter", on sort de la page, comment résourdre ce petit problème?

Une autre remarque, pour la méthode du site avec le fichier "envoi.php", il conclut en disant que c'est pas sécurisé, que les spammeurs peuvent attraper quand même l'adresse d'où certains fournisseurs qui empêchent l'envoi d'email par php.
donc je comprends plus du tout quelle méthode à utiliser? :shock: :shock: :roll: :roll:

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

Message par Ymai »

bilbao a écrit :je comprends pas :oops:
sur le site, c'est ce que j'ai fait en premier lieu avec kompozer pour remplir le formulaire, alors pour le bouton de validation quand j'écris " valeur" envoyer, le bouton reste vide, il n'est pas écrit dessus envoyer.
Est-il sûr qu'il s'agit bien d'un Bouton de Validation? Parce que je ne puis que confirmer que la "valeur" correspond bien à ce qui est marqué sur le bouton
je suppose dans mon cas que je dois le modifier comme ceci:
$np = htmlentities($_POST['nom']);
$np = htmlentities($_POST['Prénom']);
$np = htmlentities($_POST['Société']);
$np = htmlentities($_POST['Adresse']);
$np = htmlentities($_POST['code postal']);
$np = htmlentities($_POST['ville']);
$np = htmlentities($_POST['telephone']);
$np = htmlentities($_POST['fax']);
$np = htmlentities($_POST['message']);
mail ("vous@votreFAI.com", "Sondage", $message, "From: $np");
echo "Votre avis vient de m'&ecirc;tre envoy&eacute; <br />";
[edit]NOOOOON. Dans cette version, la variable $np est écrasée par une nouvelle valeur à chaque ligne.
La syntaxe, à partir de la deuxième ligne est $np .= blablabla[/edit]

en mettant, bien sûr, une vraie adresse e-mail comme premier paramètre :D
par contre pour le texte du message, en taille j'ai mis en largeur 95px et en hauteur 60px, et bien j'ai fait un essai, on peut ecrire à l'infini sur la première ligne et on arrive pas à passer à la 2ème ligne :oops:
S'agit-il bien d'une zone multiligne?
quand on essaye sur le clavier de faire "enter", on sort de la page, comment résourdre ce petit problème?
Sans doute en choisissant un champ multiligne (alias "zone de texte") plutôt que le simple champ "texte"

Une autre remarque, pour la méthode du site avec le fichier "envoi.php", il conclut en disant que c'est pas sécurisé, que les spammeurs peuvent attraper quand même l'adresse d'où certains fournisseurs qui empêchent l'envoi d'email par php.
Plus aucun moyen de choper l'adresse puisqu'elle ne figure que sur le serveur.
Par contre, le danger est que le formulaire puisse servir à envoyer du spam. Il y a donc, a priori, quelques protections à mettre en place pour éviter ce souci.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1.14) Gecko/20080418 Ubuntu/7.10 (gutsy) Firefox/2.0.0.14
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
bilbao
Salamandre
Messages : 49
Inscription : 27 juin 2007, 12:03

Message par bilbao »

Où tu le vois le champs multiligne?
je cherche je trouve rien :oops:
dans "propriété du champs de formulaire" puis "type de champs" il n'y a que:
texte, mot de passe, case à cocher, bouton radio, bouton de validation, bouton reset, fichier, caché, image, bouton.

j'aimerai avoir une solution simple et facile, j'ai trouvé cela sur le site monsitegratuit:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>genecontact</title>
</head>
<body>
<script language="Javascript"
form1.php?n="1&p=1&e=1&s=1&t=1&ad=1&cp=1&soc=1&py=1&tel=1&ban=0&tt=Formulaire%20de%20contact&mt=&b1=Envoyer&b2=R%E9initialiser&cf=&cc=&ct=&ctx=&cos=***.fr&coe=****@voila.fr""></script>
<noscript><p>Votre Formulaire Mon Site Gratuit visible lors
de sa mise en ligne</p></noscript>
<a href=""><img =""><br>
</a>
</body>
</html>
alors ce code là fonctionne, mais le problème j'ai la note "mon site gratuit" je sais pas comment m'en débarasser.

et puis pour le code, j'aimerai trouver la commande pour pouvoir le voir en "aperçu" sur kompozez, je peux voir juste le code dans komposer, et le visualiser sur firefox (et encore dans firefox quand je suis en ligne, sinon je peux pas voir le formulaire)

et je voulais savoir est ce que ce code est sécurisé face au spammeur?

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

Message par Ymai »

bilbao a écrit :Où tu le vois le champs multiligne?
je cherche je trouve rien :oops:
> Insertion > Formulaire > Zone de texte
Il n'y a plus qu'à indiquer combien de lignes et combien de colonnes.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
bilbao
Salamandre
Messages : 49
Inscription : 27 juin 2007, 12:03

Message par bilbao »

je vais essayer.

mais pour le php, je vais relire, mais j'y comprends rien:
j'ai trouvé un script sur php astux je sais pas où le placer dans ma page html:
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = "moi@fournisseur.tld";

// copie ? (envoie une copie au visiteur)
$copie = "oui";

// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";

// Message d'erreur du formulaire
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";

/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/

if (isset($_POST['envoi']))
{
$err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin

/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}

// magic quotes ?
$text = $stripslashes($text);
$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 IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};

// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';

// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
$err_formulaire = (IsEmail($email)) ? false : true;

if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";

// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};

// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);

// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="contact.php">Retour au formulaire</a></p>'."\n";
$err_formulaire = true;
};
}; // fin du if (!isset($_POST['envoi']))

if (($err_formulaire) || (!isset($_POST['envoi'])))
{
// afficher le formulaire
echo '<form id="contact" method="post" action="">'."\n";
echo ' <fieldset><legend>Vos coordonnées</legend>'."\n";
echo ' <p>'."\n";
echo ' <label for="nom">Nom :</label>'."\n";
echo ' <input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" />'."\n";
echo ' </p>'."\n";
echo ' <p>'."\n";
echo ' <label for="email">Email :</label>'."\n";
echo ' <input type="text" id="email" name="email" value="'.stripslashes($email).'" tabindex="2" />'."\n";
echo ' </p>'."\n";
echo ' </fieldset>'."\n";

echo ' <fieldset><legend>Votre message :</legend>'."\n";
echo ' <p>'."\n";
echo ' <label for="objet">Objet :</label>'."\n";
echo ' <input type="text" id="objet" name="objet" value="'.stripslashes($objet).'" tabindex="3" />'."\n";
echo ' </p>'."\n";
echo ' <p>'."\n";
echo ' <label for="message">Message :</label>'."\n";
echo ' <textarea id="message" name="message" tabindex="4" cols="30" rows="8">'.stripslashes($message).'</textarea>'."\n";
echo ' </p>'."\n";
echo ' </fieldset>'."\n";

echo ' <div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>'."\n";
echo '</form>'."\n";
};
?>
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

bilbao a écrit :je vais essayer.

mais pour le php, je vais relire, mais j'y comprends rien:
C'est fait pour quelqu'un qui n'y connaît rien. Prendre la piste verte si l'on ne veut même pas essayer de comprendre.
j'ai trouvé un script sur php astux je sais pas où le placer dans ma page html:
Si c'est celui-là: http://www.php-astux.info/script-formulaire-contact.php, il me semble que toutes les indications sont fournies. Que dire de plus?

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
bilbao
Salamandre
Messages : 49
Inscription : 27 juin 2007, 12:03

Message par bilbao »

justement j'ai utilisé la méthode du site:
http://www.php-astux.info/script-formulaire-contact.php
mais cela ne fonctionne toujours pas :oops: :cry: :cry: :oops: :cry: :cry: :cry: :cry: :cry:

alors j'ai fait 2 fichiers:
contactessai.html
traitementformulaire.php

je lance contactessai.html sur mon navigateur firefox, je remplis le formulaire, je clique sur envoyer, et hop, c'est raté, il me dit qu'il trouve pas le fichier sur le disque dur C, alors que je lui ai pas donné ce nom :cry: :cry: :cry:

je donne les codes des fichiers:

code du fichier "contactessai.html":

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=ISO-8859-1"
 http-equiv="content-type">
  <title>contactsimple</title>
</head>
<body>
<br>
<img style="width: 920px; height: 142px;" alt=""
 src="../W***/A****/c*****/barreessai1fannion.gif"><br>
<br>
<form method="post" action="traitementformulaire.php"
 name="contact">
  <div style="text-align: center;"><big><big
 style="font-weight: bold;"><br>
Formulaire de contact:<br>
  </big></big></div>
  <br>
  <br>
  <br>
  <div style="margin-left: 80px;"><big>Nom : </big>&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;
&nbsp; <input
 style="background-color: rgb(204, 255, 255); width: 500px;"
 name="nom"><br>
  <br>
  <big>Prénom</big>:&nbsp;&nbsp;
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; <input
 style="background-color: rgb(204, 255, 255); opacity: 0.561; width: 500px;"
 name="prenom"><br>
  <br>
  <big>Fonction:</big>&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp; <input
 style="background-color: rgb(204, 255, 255); opacity: 0.588; width: 500px;"
 name="fonction"><br>
  <br>
  <big>Société</big>:&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; <input
 style="background-color: rgb(204, 255, 255); opacity: 0.493; width: 500px;"
 name="societe"><br>
  <br>
  <big>Adresse:</big><br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; :<textarea
 style="background-color: rgb(204, 255, 255); opacity: 0.433;"
 cols="60" rows="3" name="adresse"></textarea><br>
  <br>
  <big>Code postal:</big>&nbsp;&nbsp;&nbsp; <input
 style="background-color: rgb(204, 255, 255); opacity: 0.415; width: 500px;"
 name="codepostal"><br>
  <br>
  <big>Ville:</big>&nbsp;&nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input
 style="background-color: rgb(204, 255, 255); opacity: 0.392; width: 500px;"
 name="ville"><br>
  <br>
  <big>Pays:</big>&nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input
 style="background-color: rgb(204, 255, 255); opacity: 0.419; width: 500px;"
 name="pays"><br>
  <br>
  <big>Téléphone:</big> &nbsp; &nbsp; &nbsp;<input
 style="background-color: rgb(204, 255, 255); opacity: 0.3; width: 500px;"
 name="telephone"><br>
  <br>
  <big>Fax:&nbsp;</big>&nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input
 style="background-color: rgb(204, 255, 255); opacity: 0.419; width: 500px;"
 name="fax"><br>
  <br>
  <big>Email:</big>&nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; <input
 style="background-color: rgb(204, 255, 255); opacity: 0.406; width: 500px;"
 name="email"><br>
  <br>
  <big>Message:</big><br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;&nbsp;&nbsp; <textarea
 style="background-color: rgb(204, 255, 255); opacity: 0.296;"
 cols="80" rows="10" name="message"></textarea><br>
  </div>
  <br>
  <br>
  <br>
  <br>
  <div style="text-align: left;">&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;<input
 name="envoyer" value="envoyer" type="submit">
&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp;
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;<input name="annulation" value="annuler"
 type="reset"><br>
  </div>
  <br>
  <br>
  <div style="text-align: center;"><big><br>
  <big><a
 href="file:///C:/Documents%20and%20Settings/Propri%E9taire/Bureau/W****/A*****/index.html">Retour
au site</a></big></big><br>
  </div>
  <br>
  <br>
</form>
</body>
</html>
voila le code du fichier "traitementformulaire.php":

Code : Tout sélectionner

 <?php /*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = "a****@voila.fr";
// copie ? (envoie une copie au visiteur)
$copie = "oui";
// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/
// on teste si le formulaire a été soumis
if (!isset($_POST['envoi']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}
// magic quotes ?
$text = $stripslashes($text);
$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 IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};
// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("&#8217;","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);
// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>
</body>
</html>
Si tu peux me dire où corriger?

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

Message par Ymai »

bilbao a écrit :je lance contactessai.html sur mon navigateur firefox, je remplis le formulaire, je clique sur envoyer, et hop, c'est raté, il me dit qu'il trouve pas le fichier sur le disque dur C, alors que je lui ai pas donné ce nom
Sur le disque C ? Cela signifierait que la tentative ne se fait pas sur un serveur web capable d'interpréter PHP.
Sans aller plus loin dans l'analyse, on peut certifier que cela ne fonctionnera pas.
Une solution: installer un serveur web local *qui implémente la fonction mail*.
Voir du côté de Wamp-Server ou Easy-PHP ou Xampp ou .....
Ou alors, tester en ligne sur un serveur web tout configuré.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
bilbao
Salamandre
Messages : 49
Inscription : 27 juin 2007, 12:03

Message par bilbao »

voila je mets le message d'erreur:
http://www.hiboox.com/go/images/informa ... h4hezb.gif
<a href="http://www.hiboox.com/go/images/informat
<a href="http://www.hiboox.com/go/images/informa ... h4hezb.gif" alt="Hébergé par Hiboox.com"><img src="http://sgh4hezb.gif/vignettes/2108/sgh4hezb.gif" border="0" ></a>
Image



Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12
bilbao
Salamandre
Messages : 49
Inscription : 27 juin 2007, 12:03

Message par bilbao »

oh, la la , ça va être compliqué
"Voir du côté de Wamp-Server ou Easy-PHP ou Xampp ou .....
Ou alors, tester en ligne sur un serveur web tout configuré. "

je pas précisé mais voilà, là j'ai fait toutes mes pages web que j'ai mis dans un dossier sur le bureau, et j'ai testé les pages dans mon navigateur.
je veux dire qu'actuellement aucune de mes pages n'aient herbergé sur le web.

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

Message par Ymai »

bilbao a écrit :voila je mets le message d'erreur:
Si toutes les pages sont effectivement dans le dossier "formulaire" qui se trouve sur le bureau, j'avoue que je ne comprends pas le message d'erreur.
Toutefois, je confirme que cela ne peut pas fonctionner, même si tout est correct du point de vue de la localisation des fichiers.

Wamp-Server s'installe avec une facilité déconcertante.
http://www.wampserver.com/

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5
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 2 invités