Bonjour a tous,

Je suis en train de faire mon fichier php de vérification de champs et d'envoi de mail.

Cependant je me retrouve confronter a deux erreurs.

Notice: Undefined variable: MailBody in d:\www\fansyl.fr\htdocs\inscription\verif.php on line 59

Fatal error: Call to undefined function checkdnsrr() in d:\www\fansyl.fr\htdocs\inscription\verif.php on line 19

Comment puis je enlever ces deux erreurs svp.

Voici mon code php du fichier verif.php.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
 
<?
// DEBUT Fonction de contrôle du mail PHP-UNIX
function check_mail($champ3) {
if( (preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $champ3)) ||
(preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$champ3)) ) {
$host = explode('@', $champ3);
if(checkdnsrr($host[1].'.', 'MX') ) return true;
if(checkdnsrr($host[1].'.', 'A') ) return true;
if(checkdnsrr($host[1].'.', 'CNAME') ) return true;
}
return false;
}
// FIN Fonction de contrôle du mail
$MailTo = "orphen06100@hotmail.fr"; //adresse à laquelle sera envoyé le contenu du formulaire
$MailCc = "kirby_sensi@hotmail.com"; // adresse à laquelle sera envoyé un communiqué
$MailSubject = "Inscription d'un nouveau membre"; //texte qui va figurer dans le champ "sujet" du email
$MailHeader = "$champ3"; //adresse email qui va figurer dans le champ "expéditeur" du email et qui peut être remplacé par la variable "$champx" ("$champ3").
// Quelques hébergeurs obligent que le domaine du mail de l'expéditeur soit celui de votre site
 
$min_size="3"; // Longueur minimum du message
$max_size="5000"; //Longueur maximum du message
 
/* Les routines suivantes permettent à chacune des variables de prendre la valeur des champs du formulaire et de les stocker ensuite dans la variable globale MailBody qui constituera le corps du message */
 
$Envoi = 1; //initialisation de la variable envoi à 1
 
/* Pour enlever une condition de vérification de champ (vide ou non), enlever, par exemple au champ 1 :
*
if ($champ1 == ""){ //nom du champ1
echo("Vous n'avez pas complété le champ 1.<br>"); //message qui s'affiche si le visiteur n'a pas rempli ce champ
$Envoi = 0; //si le champ1 n'a pas été rempli, la variable envoi prend la valeur de 0
}
else {
}

et ne laisser que :

$MailBody .= "Question 1 : $champ1\n";

*/
//
if ($champ1 == ""){ //nom du champ1
echo("Vous n'avez pas renseignez le champs pseudo.<br>"); //message qui s'affiche si le visiteur n'a pas rempli ce champ
$Envoi = 0; //si le champ1 n'a pas été rempli, la variable envoi prend la valeur de 0
}
else {
$MailBody .= "Pseudo du nouveau membre : $champ1\n"; //si le champ1 contient de l'information, elle est stockée dans la variable MailBody
}
if ($champ2 == ""){
echo("Vous n'avez pas renseignez le champs Mot de passe.<br>");
$Envoi = 0;
}
else {
$MailBody .= "Mot de passe : $champ2\n";
}
if ($champ3 == ""){
echo("Vous n'avez pas renseignez le champs Email<br>");
$Envoi = 0;
}
else {
if (check_mail($champ3)) {
$MailBody .= "Mail : $champ3\n";
}
else {
echo("L'adresse e-mail n'est pas valide<br>");
$Envoi = 0;
}
}
if ($Envoi == 0) { //vérification que la variable envoi est bien à 1
echo("<p><a href=\"Javascript:history.go(-1)\"><center><strong>RETOUR</strong></center></a></p>");
//Pas d'envoi du message et retour au formulaire
}
 
//Envoi du message
if ($Envoi == 1) { //vérification que la variable envoi est bien à 1
echo("<p><strong>Votre pseudo : <font color=\"#0000FF\">$champ1</font>\n");
echo("<br>Votre Mot de pass : <font color=\"#0000FF\">$champ2</font>\n");
echo("<br>Votre E-mail : <font color=\"#0000FF\">$champ3</font>\n");
mail($MailTo, $MailSubject, $MailBody, $MailHeader); //envoi du message
//mail($MailCc, $MailSubject, $MailBody, $MailHeader); //envoi du communiqué (enlever // pour le rendre opérationnel
echo("<p>Votre Inscription a bien ete prise en compte.");
echo("<p>&nbsp;</p><p>&nbsp;</p><p align=\"center\"><a href=\"index.php\">Retour</strong></a></p>"); //affichage d'un message de confirmation.
}
?>
merci par avance pour vos réponses

www.fansyl.fr ---onglet devenir membre du site