Webmaster Hub: Créer un formulaire de contact php anti-spam (captcha) - Webmaster Hub

Aller au contenu

  • 6 Pages +
  • 1
  • 2
  • 3
  • 4
  • 5
  • Dernière »
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Créer un formulaire de contact php anti-spam (captcha) Noter : -----

#41 L'utilisateur est hors-ligne   dzaster 

  • Groupe : Membre
  • Messages : 1
  • Inscrit(e) : 28-décembre 06

Posté 28 décembre 2006 - 00:46

Merci beaucoup pour ce script. Cela dit il reste un pb,
je n'ai pas retouché au code (sauf pour le mail destinataire),
il me dit ke le message est bien envoyé, maisj'en doute
car aucun message n'arrive.....

J'ai vu ke kOntact avait eu le pb mais je ne comprends
pas comment il a solutionné.

Si quelqun peut m'aider, un GROS merci d'avance...
0

#42 L'utilisateur est hors-ligne   Norbert_404 

  • Groupe : Membre
  • Messages : 18
  • Inscrit(e) : 12-novembre 06

Posté 08 janvier 2007 - 15:36

Bonjour à tous !
Bonne année 2007 !

Mais je bute sur un point :
Comment inclure dans le message de l'email que je reçois la valeur d'une checkbox, bouton radio, etc... ?
J'ai l'impression que tout se passe dans le code ci-dessous... (ligne 4)
$entete = "From: ".$_POST["email_expediteur"]." <".$_POST["email_expediteur"].">\n";
$entete .= "Return-Path: ". $email_webmaster . "\n";
$entete .= "MIME-Version: 1.0";
if (@mail($email_webmaster,$titre_cache." / ".$_POST["titre"],$_POST["message"],$entete))
{
// mail envoyé
e

J'ai remplacé $_POST["message"] par $_POST["checkbox"] pour avoir dans mon email la valeur du checkbox par exemple.ça marche nickel. En revanche je ne reçois pas de message puisque le script envoie la valeur du checkbox à la place du message...
Donc comment intégrer dans le message la valeur d'une checkbox, liste,... ?

Ps: J'ai éssayé de concaténer dans $_POST["message"] la valeur "message" avec "checkbox" pour obtenir ceci :
$_POST["message.checkbox"] en espérant que la valeur du checkbox soit incluse dans le message...
ça marche pas non plus...

Je suis perdu ! :(

Ce message a été modifié par Norbert_404 - 08 janvier 2007 - 15:48.

0

#43 L'utilisateur est hors-ligne   captain_torche 

  • Danacol / Orangina rouge
  • Groupe : Admin
  • Messages : 6 658
  • Inscrit(e) : 08-février 06
  • Genre:Homme
  • Localisation:Savigny / Orge

Posté 08 janvier 2007 - 15:48

Pour concaténer les valeurs, tu devrais faire
$_POST['message'].$_POST['checkbox']

Par contre, il ne faut pas oublier que la valeur d'une checkbox n'est envoyée que si elle est cochée.
Vous avez rêvé cette nuit ? Partagez vos rêves sur l'Onironaute !
Bijoux fantaisie
Recherche nounou
0

#44 L'utilisateur est hors-ligne   byc 

  • Groupe : Membre
  • Messages : 10
  • Inscrit(e) : 08-novembre 06
  • Genre:Homme
  • Localisation:Ile de France

Posté 08 janvier 2007 - 15:55

Bonne année à tous !

K0ntakt, c'est un problème assez courant que tu as. A vrai dire, je n'ai pas encore eu ce problème là mais si tu cherche bien sur le forum ou google tu trouveras la réponse à ta question.

dzaster, essaie de retirer le @ dans la condition if(@mail(...)), ça devrait fonctionner.

Norbert_404, captain_torche a répondu plus vite que moi :)
0

#45 L'utilisateur est hors-ligne   Norbert_404 

  • Groupe : Membre
  • Messages : 18
  • Inscrit(e) : 12-novembre 06

Posté 08 janvier 2007 - 16:28

Merci beaucoup ! ;) :) :thumbsup:

je viens de tester, ça marche.
J'ai finalement opter pour une liste déroulante à 2 choix
Pour info et si ça peut aider, je vous donne le code :

<select name="choix " id="choix ">
					   <option value="<?php echo htmlspecialchars("choix: Yes") ?>" />Red</option>
					   <option value="<?php echo htmlspecialchars("choix : No") ?>"/>Blue</option>					
</select>


if (@mail($email_webmaster,$titre_cache." / ".$_POST["titre"],$_POST["message"].$_POST["
choix],$entete)){


Je vais rajouter un retour à la ligne aprés la concaténation pour avoir un message plus lisible :
if (@mail($email_webmaster,$titre_cache." / ".$_POST["titre"],$_POST["message"]./n$_POST["
choix],$entete)){

Citation

Blablabla
Red

0

#46 L'utilisateur est hors-ligne   Franck B. 

  • Groupe : Membre
  • Messages : 6
  • Inscrit(e) : 08-janvier 07

Posté 08 janvier 2007 - 16:50

Attention quant-au-choix du captcha, je vous conseille d'aller voir cette page : http://sam.zoy.org/pwntcha/

C'est très intéressant ;)

Qu'en dites-vous ? :whistling:

Ce message a été modifié par Franck B. - 08 janvier 2007 - 16:50.

0

#47 L'utilisateur est hors-ligne   Norbert_404 

  • Groupe : Membre
  • Messages : 18
  • Inscrit(e) : 12-novembre 06

Posté 08 janvier 2007 - 22:24

Yep c'est intéressant en effet ! Merci ;-)
Mais bon j'ai un captcha non visuel, peut être je ne suis pas concerné ?
A surveiller de prés donc...
0

#48 L'utilisateur est hors-ligne   Franck B. 

  • Groupe : Membre
  • Messages : 6
  • Inscrit(e) : 08-janvier 07

Posté 09 janvier 2007 - 15:33

Ah heu, au début tu parlais de Cryptographp, je croyais donc que tu utilisais cela, désolé ^^

Cette page est bonne à lire tout de même pour ceux qui passeront ici ;)

Bonne journée :)
0

#49 L'utilisateur est hors-ligne   Norbert_404 

  • Groupe : Membre
  • Messages : 18
  • Inscrit(e) : 12-novembre 06

Posté 09 janvier 2007 - 16:58

Voir le messageFranck B., le mardi 9 janvier 2007, 15h33, dit :

Ah heu, au début tu parlais de Cryptographp, je croyais donc que tu utilisais cela, désolé ^^

C'est pas grave ;-)
Merci tout de meêm pour ton apport :thumbsup:
0

#50 L'utilisateur est hors-ligne   nickel 

  • Groupe : Membre
  • Messages : 28
  • Inscrit(e) : 08-mars 06

Posté 12 janvier 2007 - 17:21

J'ai un problème avec le formulaire avec le captcha, j'arrive à le visualiser mais même avec le bon code il me met tout le temps "Code de vérification non valide", le formulaire n'est jamais validé même avec le bon code, j'ai réessayé plusieurs fois et j'ai toujours ce problème, d'ou cela peut-il venir ?
Sur le site il est marqué que cela peut provenir des sessions, comment je peux le vérifier ?
Merci.
0

#51 L'utilisateur est hors-ligne   nelumbo 

  • Groupe : Membre
  • Messages : 2
  • Inscrit(e) : 05-novembre 06

Posté 22 janvier 2007 - 15:18

Bonjour,
Spammé depuis quelques jours et à répétition par l'intermédiaire de mon formulaire de contact, je souhaite intégrer un cryptograph à mon formulaire. L'installation en semble pas compliqué, mais sans succès pour ma part. L'image qui génère les codes ne s'affiche pas !
Le dossier crypt est bien sur mon serveur.
-http://www.lanature.fr/contact.php

<?php include "crypt/functions.php"; ?>
<?php
// Dans la ligne qui suit, remplacer webmaster_AT_domaine.tld par l'adresse email du webmaster, à laquelle les messages devront être envoyés
$email_webmaster = "webmaster_AT_lanature.fr";
// === traitement des données du formulaire ============================================================
if (isset($_POST["envoyer"])){
// le formulaire a été soumis
$etat = "erreur";
// Valeur par défaut. Prendra la valeur "ok" s'il n'y a pas d'erreur
// --- mise en forme des champs saisis dans le formulaire lors de sa soumission ---
if (isset($_POST["email_expediteur"])) {
$_POST["email_expediteur"]=trim(stripslashes($_POST["email_expediteur"
]));
}
if (isset($_POST["titre"])) {
$_POST["titre"]=trim(stripslashes($_POST["titre"]));
}
if (isset($_POST["message"])) {
$_POST["message"]=trim(stripslashes($_POST["message"]));

}
// --- test de la validité des champs saisis ---
if (empty($_POST["email_expediteur"])) {
// il manque l'email de l'expéditeur
$erreur="Saisissez votre adresse email...";
}
elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[
0-9a-z])*\.[a-z]{2,4}$",$_POST["email_expediteur"])){
// l'adresse e-mail n'est pas valide
$erreur="Votre adresse e-mail n'est pas valide...";
}
elseif (empty($_POST["message"])) {
// le message est vide
$erreur="Saisissez un message...";
}
elseif (empty($_POST["code"])) {
// le code n'est pas saisi
$erreur="Saisissez le code de verification...";
}

else {
// --- Vérification de la validité du code captcha ---
if (chk_crypt($_POST['code']))
// --- tous les champs sont correctement remplis: on pourra envoyer le mail ---
$etat="ok";
// --- Le code captcha n'est pas valide ---
else $erreur="Code de verification non valide ...";
}
}

else {
// --- le formulaire n'a pas été soumis ---
$etat="attente";
}
// === fin de traitement des données du formulaire =======================================================
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>Contact nature et jardin bio</title>
  <meta name="description" content="Formulaire de contact nature et jardin bio, posez vos questions sur la nature">
  <meta name="Keywords" content="nature, jardin ,question nature, question jardin, contact nature">
  <link href="http://www.lanature.fr/icones.ico" rel="shortcut icon">
  <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="conteneur">
<br>

<div id="edito">
<h2 style="text-align: center;">Contact Nature et jardin
bio</h2>

<br>

Pour toutes demandes d'aides et conseils sur le thème de
la <strong>nature</strong> et du <strong>jardin</strong>,
merci<br>

d'utiliser le forum. Vous pouvez y accéder en cliquant sur <a style="color: rgb(102, 0, 204);" href="forum/"><strong>forum
nature</strong></a>.<br>

<br>

Pour me contacter, remplissez le formulaire ci-dessous.<br>

<br>

<div align="center">
<?php
if ($etat!="ok"){// le formulaire n'a pas été soumis, ou soumis avec une erreur
if ($etat=="erreur"){
//le formulaire a été soumis avec une erreur
echo "<p><strong>".$erreur."</strong></p>\n";
// afficher le message d'erreur
}
?>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<p><label for="email_expediteur">Votre adresse e-mail (obligatoire):</label><br />
<input type="text" size="40" name="email_expediteur" id="email_expediteur" value="<?php
if (!empty($_POST["email_expediteur"])) {
// l'adresse email de l'expéditeur a été saisie: la réafficher
echo htmlspecialchars($_POST["email_expediteur"],ENT_QUOTES);
}
?>" />
</p>
<p><label for="titre">Titre de message (facultatif):</label><br />
<input type="text" size="40" name="titre" id="titre" value="<?php
if (!empty($_POST["titre"])) {
// le titre du message a été saisi: le réafficher
echo htmlspecialchars($_POST["titre"],ENT_QUOTES);
}
?>" />
</p>
<p><label for="message">Message (obligatoire):</label><br />
<textarea name="message" id="message" cols="40" rows="5"><?php
if (isset($_POST["message"])) {
// le message a été saisi: le réafficher
echo htmlspecialchars($_POST["message"],ENT_QUOTES);
}
?></textarea>
</p>
<?php dsp_crypt(0,1); ?>
<p><input type="text" name="code" /></p>
<p><input type="submit" name="envoyer" value="Envoyer" />
</p>
</form>
<?php
}
else {
// le formulaire a été soumis sans erreur, on envoie le mail
$entete = "From: ".$_POST["email_expediteur"]." <".$_POST["email_expediteur"].">\n";
$entete .= "MIME-Version: 1.0";
if (@mail($email_webmaster,$_POST["titre"],$_POST["message"
],$entete)){
// mail envoyé
echo "Votre message a été envoyé.<br />\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Envoyer un autre message...</a>\n";
}
else {
// erreur lors de l'envoi du mail
echo "Un problème s'est produit lors de l'envoi du message.\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Réessayez..
.</a>\n";
}
}
?>
</div>

<br>

<br>

<div style="text-align: center;"><br>

<input name="button2" onclick="history.back()" value="Retour" type="button"></div>

</div>

<div style="text-align: center;" id="header"><?php include("menu.php"); ?><big><br>

<br>

<br>

<br>

<br>

</big></div>

<div style="text-align: center;" id="gauche"><?php include("gauche.php"); ?><big><br>

</big></div>

<div id="droite">
<div style="text-align: center;"><?php include("droite.php"); ?></div>

<big><br>

</big></div>

<div style="text-align: center;" id="pied"><?php include("pied.php"); ?></div>

</div>

</body>
</html>

0

#52 L'utilisateur est hors-ligne   alphega 

  • Groupe : Hubmaster
  • Messages : 277
  • Inscrit(e) : 07-novembre 04
  • Genre:Homme
  • Localisation:Eysines

Posté 22 janvier 2007 - 17:00

Bonjour,

Regarde dans la faq de cryptographp si tu n'es pas dans un de ces cas: http://www.cryptogra...dex.php?page=10 (problème hebergeur ?)
Passionnés d'informatique, discutez ordinateur, windows, logiciels et technologies sur le forum informatique CNET
0

#53 L'utilisateur est hors-ligne   nelumbo 

  • Groupe : Membre
  • Messages : 2
  • Inscrit(e) : 05-novembre 06

Posté 22 janvier 2007 - 17:25

Merci,
mon serveur ne l'accepte. J'ai testé le script sur un autre hebergeur, il fonctionne impecable.
Meme avec les modifications apportées l'image reste inaffiché.
J'opte pour un autre script, qui semble fonctionner.
0

#54 L'utilisateur est hors-ligne   Norbert_404 

  • Groupe : Membre
  • Messages : 18
  • Inscrit(e) : 12-novembre 06

Posté 24 janvier 2007 - 11:32

Bonjour à tous !

Juste une question :
Le mailer en php proposé dans ce sujet permet-il de cacher l'email quand la page est aspirée ?
Je me pose cette question car apparemment mon site a été aspiré...

PS: j'utilise aussi le captcha proposé par Byc et j'ai ajouté dans le répertoire qui contient le formulaire php un fichier index.html pour éviter d'afficher le contenu de ce même répertoire...
0

#55 L'utilisateur est hors-ligne   captain_torche 

  • Danacol / Orangina rouge
  • Groupe : Admin
  • Messages : 6 658
  • Inscrit(e) : 08-février 06
  • Genre:Homme
  • Localisation:Savigny / Orge

Posté 24 janvier 2007 - 11:43

Il ne faut pas confondre :
- Un système de captcha empêche (théoriquement) aux robots automatisés de s'inscrire, pour qu'ils ne puissent pas spammer un forum ou un système de commentaires
- un aspirateur enregistre toutes les pages d'un site en suivant les liens (comme un moteur de recherche, mais avec un but plus ou moins avouable).
Ils ne sont pas liés : un captcha n'empêchera pas à un aspirateur de voir les adresses e-mail de ton site.
Une manière de se protéger, est de faire en sorte que les adresses e-mail ne soient pas reconnues comme telles par un robot. Sur ce forum, elles sont automatiquement transformées en adresse_AT_email.com
Vous avez rêvé cette nuit ? Partagez vos rêves sur l'Onironaute !
Bijoux fantaisie
Recherche nounou
0

#56 L'utilisateur est hors-ligne   alphega 

  • Groupe : Hubmaster
  • Messages : 277
  • Inscrit(e) : 07-novembre 04
  • Genre:Homme
  • Localisation:Eysines

Posté 24 janvier 2007 - 13:30

Là en l'occurence, meme si ton site est aspiré l'adresse email qui se trouve dans le script ne sera pas vue car elle n'apparait pas dans la source du fichier html mais seulement dans la source du fichier php. Ce script protège donc ton adresse email.

Ce que verra la personne qui a aspiré ton site, c'est ce que tu vois quant tu fais un clic droit/afficher la source lorsque tu visionnes ta page de contact.
Passionnés d'informatique, discutez ordinateur, windows, logiciels et technologies sur le forum informatique CNET
0

#57 L'utilisateur est hors-ligne   bed 

  • Groupe : Membre
  • Messages : 3
  • Inscrit(e) : 04-décembre 05

Posté 24 janvier 2007 - 17:14

J'ai modifié le deuxième formulaire avec le système d'addition qui est proposé sur ce fil et j'ai ajouté l'envoie de l'adresse IP ainsi que le navigateur de celui qui poste le message. Que pensez-vous du code ?


 

<?php 
include_once("antispam.php");
?>

<?php
// Dans la ligne qui suit, remplacer webmaster_AT_domaine.tld par l'adresse email du webmaster, à laquelle les messages devront être envoyés
$email_webmaster = "webmaster_AT_domaine.tld ";
// Rajout alphega: Dans cette ligne remplacer example.com par le nom de votre site. Utile si vous avez plusieurs formulaires.
$titre_cache = "Depuis le site domaine.tld";
// === traitement des données du formulaire ============================================================
if (isset($_POST["envoyer"])){
// le formulaire a été soumis
$etat = "erreur";
// Valeur par défaut. Prendra la valeur "ok" s'il n'y a pas d'erreur
// --- mise en forme des champs saisis dans le formulaire lors de sa soumission ---
if (isset($_POST["email_expediteur"])) {
$_POST["email_expediteur"]=trim(stripslashes($_POST["email_expediteur"
]));
}
if (isset($_POST["titre"])) {
$_POST["titre"]=trim(stripslashes($_POST["titre"]));
}
if (isset($_POST["message"])) {
$_POST["message"]=trim(stripslashes($_POST["message"]));

}
// --- test de la validité des champs saisis ---
if (empty($_POST["email_expediteur"])) {
// il manque l'email de l'expéditeur
$erreur="Saisissez votre adresse email...";
}
elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[
0-9a-z])*\.[a-z]{2,4}$",$_POST["email_expediteur"])){
// l'adresse e-mail n'est pas valide
$erreur="Votre adresse e-mail n'est pas valide...";
}
elseif (empty($_POST["message"])) {
// le message est vide
$erreur="Saisissez un message...";
}
elseif (antispam_check() == false) {
// l'addition est fausse
$erreur="Résultat incorrect du calclul antispam, veuillez réessayer !";
}
else {
// --- tous les champs sont correctement remplis: on pourra envoyer le mail ---
$etat="ok";
}
}
else {
// --- le formulaire n'a pas été soumis ---
$etat="attente";
}
// === fin de traitement des données du formulaire =======================================================
?>


					  <?php
if ($etat!="ok"){// le formulaire n'a pas été soumis, ou soumis avec une erreur
if ($etat=="erreur"){
//le formulaire a été soumis avec une erreur
echo "<p><strong>".$erreur."</strong></p>\n";
// afficher le message d'erreur
}
?>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<p><label for="email_expediteur">Votre adresse e-mail (obligatoire):</label><br />
<input type="text" size="40" name="email_expediteur" id="email_expediteur" value="<?php
if (!empty($_POST["email_expediteur"])) {
// l'adresse email de l'expéditeur a été saisie: la réafficher
echo htmlspecialchars($_POST["email_expediteur"],ENT_QUOTES);
}
?>" />
</p>
<p><label for="titre">Titre de message (facultatif):</label><br />
<input type="text" size="40" name="titre" id="titre" value="<?php
if (!empty($_POST["titre"])) {
// le titre du message a été saisi: le réafficher
echo htmlspecialchars($_POST["titre"],ENT_QUOTES);
}
?>" />
</p>
<p><label for="message">Message (obligatoire):</label><br />
<textarea name="message" id="message" cols="40" rows="5"><?php
if (isset($_POST["message"])) {
// le message a été saisi: le réafficher
echo htmlspecialchars($_POST["message"],ENT_QUOTES);
}
?></textarea>
</p>
<p>Résultat du calcul (pour éviter le spam):</p>
<?php antispam_ins(); ?>
<p><input type="submit" name="envoyer" value="Envoyer" />
</p>
</form>
<?php
}
else {
// le formulaire a été soumis sans erreur, on envoie le mail
$entete = "From: ".$_POST["email_expediteur"]." <".$_POST["email_expediteur"].">\n";
$entete .= "Return-Path: ". $email_webmaster . "\n";
$entete .= "MIME-Version: 1.0";
$message="Provenance : $HTTP_REFERER\n";
$message.="Adresse IP : $REMOTE_ADDR,\n";
$message.="Navigateur : $HTTP_USER_AGENT\n";

if (@mail($email_webmaster,$titre_cache." / ".$_POST["titre"],$message.$_POST["message"],
$entete)){
// mail envoyé
echo "Votre message a été envoyé.<br />\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Envoyer un autre message...</a>\n";
}
else {
// erreur lors de l'envoi du mail
echo "Un problème s'est produit lors de l'envoi du message.\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Réessayez..
.</a>\n";
}
}
?>

0

#58 L'utilisateur est hors-ligne   Yoav 

  • Groupe : Membre
  • Messages : 51
  • Inscrit(e) : 20-décembre 06
  • Genre:Homme
  • Localisation:Jérusalem

Posté 28 janvier 2007 - 17:00

Je viens de tester ton script mais je crois qu'il y a un problème ... Il me dit chaque fois qu'il y a une erreur : "Un problème s'est produit lors de l'envoi du message. Réessayez... "

Dommage ça à l'air super :unsure:

Voici l'adresse : http://www.eretz.be/contact2.php

Ce message a été modifié par Yoav - 28 janvier 2007 - 17:00.

Webmaster du site www.eretz.fr
0

#59 L'utilisateur est hors-ligne   H2V 

  • Groupe : Membre
  • Messages : 9
  • Inscrit(e) : 27-avril 06

Posté 15 février 2007 - 11:49

Bonjour à toutes et à tous
et merci tout d'abord pour le script qui fonctionne très bien quand utilisé "tel que".

C'est quand j'essaie de la mettre à "ma sauce" que ça se complique.
J'obtiens systématiquement des erreurs. Mais pourquoi ?
Je séche depuis 2 heures (je précise que je ne connais rien au PHP) et j'ai besoin d'un (petit ?) coup de main..

Dans un 1er temps (et c'est déjà là que je bloque) je cherche à rajouter le nom de l'expéditeur et de le récupérer dans l'email qu'il va m'adresser.

J'ai donc mis ceci dans la 1ère partie :
		if (isset($_POST["nom"])) {
				 $_POST["nom"]=trim(stripslashes($_POST["nom"]))
;
		}

et un peu plus bas dans cette partie toujours :
				elseif (empty($_POST["nom"])) {
// il manque le nom de l'expéditeur
				 $erreur="Merci de donner votre nom.";
		}

Le contrôle semble bien s'effectuer.

Dans la partie html j'ai donc rajouter un champ de cette manière :
		<p><label for="nom">Votre nom (obligatoire):</label><br />
		<input type="text" size="40" name="nom" id="nom" value="<?php
		if (!empty($_POST["nom"])) {
// le nom de l'expéditeur a été saisi: le réafficher
				echo htmlspecialchars($_POST["nom"],ENT_QUOTES);
		}
		?>" />
		</p>

Pas de souci encore : tout s'affiche bien.

Et c'est dans cette dernière ligne que les choses se gâtent.
J'ai rajouté
$_POST["nom"]
ainsi :
// le formulaire a été soumis sans erreur, on envoie le mail
		$entete = "From: ".$_POST["email_expediteur"]." <".$_POST["email_expediteur"].">\n";
		$entete .= "MIME-Version: 1.0";
		if (@mail($email_webmaster,$_POST["nom"],$_POST["titre"
],$_POST["message"],$entete)){
// mail envoyé


Dans ma petite tête j'étais certain que cela fonctionnerait, mais non !
À chaque fois ce que je récupère c'est le message d'erreur déclenché par le script :

Citation

Un problème s'est produit lors de l'envoi du message


Et je ne comprends pas du tout du tout. :(

Quelle erreur ai-je pu commettre ?
Merci d'avance pour vos réponses.

Ce message a été modifié par H2V - 15 février 2007 - 11:51.

0

#60 L'utilisateur est hors-ligne   Yoav 

  • Groupe : Membre
  • Messages : 51
  • Inscrit(e) : 20-décembre 06
  • Genre:Homme
  • Localisation:Jérusalem

Posté 16 février 2007 - 14:43

Si ça peut intéresser quelqu'un, j'ai traduit le formulaire en Néerlandais avec un code capcha du style 2+8= ...
Il faut télécharger antispam.php et contacten.php dans le même répertoire.

<?php
include_once("antispam.php");
?>

<?php
// Vertaling van Yoav Rheims voor www.eretz.be
// n de lijn die volgt, webmaster_AT_domaine.tld door het adres e-mail van webmaster vervangen, waarnaar de berichten verzonden zullen moeten worden 
$email_webmaster = "e-mail van de webmaster";
// Rajout alphega: In deze lijn example.com door de naam van uw plaats vervangen. Nuttig als u verschillende formulieren hebt.
$titre_cache = "Sinds de site naam van jij site";
// === behandeling van de gegevens van het formulier============================================================
if (isset($_POST["envoyer"])){
// het formulier werd voorgelegd 
$etat = "erreur";
// Waarde per gebrek. Zal de waarde "ok" nemen als er geen fout is 
// --- inzet in vorm van de velden die in het formulier bij zijn indiening worden gegrepen ---
if (isset($_POST["email_expediteur"])) {
$_POST["email_expediteur"]=trim(stripslashes($_POST["email_expediteur"
]));
}
if (isset($_POST["titre"])) {
$_POST["titre"]=trim(stripslashes($_POST["titre"])
);
}
if (isset($_POST["message"])) {
$_POST["message"]=trim(stripslashes($_POST["message"]
));
}
// --- test van de geldigheid van de gegrepen velden---
if (empty($_POST["email_expediteur"])) {
// hij mist de e-mail van de afzender 
$erreur="Grijpt uw adres e-mail ...";
}
elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z](
[-.]?[0-9a-z])*\.[a-z]{2,4}$",$_POST["email_expediteur"
])){
// het adres e-mail is niet geldig 
$erreur="Uw adres e-mail is niet geldig ...";
}
elseif (empty($_POST["message"])) {
//het bericht is leeg 
$erreur="Voert een bericht in ...";
}
elseif (antispam_check() == false) {
// de rekening is vals 
$erreur="Incorrect resultaat, zal opnieuw willen proberen !";
}
else {
// --- alle velden worden juist gevuld: men zal mail kunnen verzenden ---
$etat="ok";
}
}
else {
// --- het formulier werd niet voorgelegd ---
$etat="attente";
}
// === behandelingseind van de gegevens van het formulier =======================================================
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="nl" lang="nl" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Contacten vertaling door Yoav Rheims voor www.eretz.be</title>
</head>
<body>

<?php
if ($etat!="ok"){// het formulier werd niet, voorgelegd of met een fout voorgelegd
if ($etat=="erreur"){
//het formulier werd met een fout voorgelegd 
echo "<p><strong>".$erreur."</strong></p>\n";
// het bericht van fout te kennen geven 
}
?>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<p><label for="email_expediteur">Uw emailadres (Verplicht) :</label><br />
<input type="text" size="40" name="email_expediteur" id="email_expediteur" value="<?php
if (!empty($_POST["email_expediteur"])) {
// het adres e-mail van de afzender werd gegrepen: aangeven
echo htmlspecialchars($_POST["email_expediteur"],ENT_QUOTES);
}
?>" />
</p>
<p><label for="titre">Titel van het onderwerp (Facultatief) :</label><br />
<input type="text" size="40" name="titre" id="titre" value="<?php
if (!empty($_POST["titre"])) {
// de titel van het bericht werd ingevoerd: aangeven
echo htmlspecialchars($_POST["titre"],ENT_QUOTES);
}
?>" />
</p>
<p><label for="message">Onderwerp (Verplicht) :</label><br />
<textarea name="message" id="message" cols="40" rows="5"><?php
if (isset($_POST["message"])) {
// het bericht werd ingevoerd: aangeven
echo htmlspecialchars($_POST["message"],ENT_QUOTES);
}
?></textarea>
</p>
<p>Rekenresultaat:</p>
<?php antispam_ins(); ?>
<p><input type="submit" name="envoyer" value="Zenden" />
</p>
</form>
<?php
}
else {
// het formulier werd zonder fout voorgelegd, men verzendt mail 
$entete = "From: ".$_POST["email_expediteur"]." <".$_POST["email_expediteur"].">\n";
$entete .= "Return-Path: ". $email_webmaster . "\n";
$entete .= "MIME-Version: 1.0";
if (@mail($email_webmaster,$titre_cache." / ".$_POST["titre"],$_POST["message"],$entete))
{
// mail gezant 
echo "Uw bericht werd verzonden.<br />\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Een ander bericht verzenden ...</a>\n";
}
else {
// fout bij de zending van mail 
echo "Een probleem heeft zich bij de zending van het bericht voorgedaan.\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Probeert opnieuw ...</a>\n";
}
}
?>


Voici l'adresse exemple : http://yoavftp.yo.fu...g/contacten.php

Ce message a été modifié par Yoav - 16 février 2007 - 14:46.

Webmaster du site www.eretz.fr
0

Partager ce sujet :


  • 6 Pages +
  • 1
  • 2
  • 3
  • 4
  • 5
  • Dernière »
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)