Souci avec le control d'un formulaire en PHP

Fermé
papa-christian Messages postés 26 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 24 janvier 2009 - 13 oct. 2007 à 07:09
papa-christian Messages postés 26 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 24 janvier 2009 - 13 oct. 2007 à 16:49
Bonjour,
j'ai un souci avec un formulaire que j'ai reçu de quelqu'un de beaucoup plus caler que moi ! du moins je crois ?
pour l'instant je reçois le message suivant :
Ton adresse e-mail n'est pas valide
Retour

alors que je rentre une adresse valable ?
voici une partie de la page html
<form method="POST" action="formulaire.php" name="AVIS">
Nom : <font size="4" color="#FF0000">*</font><input type="text" name="nom" size="20"><br>
Prénom : <font size="4" color="#FF0000">*</font><input type="text" name="prenom" size="20"><br>
Adresse émail :<font size="4" color="#FF0000">*</font><input type="text" name="mail" size="20"><br>

Rue : <font size="4" color="#FF0000">*</font><input type="text" name="rue" size="20"><br>
Numéro :<font size="4" color="#FF0000">*</font><input type="text" name="numero" size="5"><br>
Localité : <font size="4" color="#FF0000">*</font><input type="text" name="localiter" size="20"><br>
Code postal : <font size="4" color="#FF0000">*</font><input type="text" name="cp" size="20"><br>
Numéro de téléphone : <input type="text" name="telephone" size="20"><br>
Numéro de portable : <font size="4" color="#FF0000">*</font><input type="text" name="gsm" size="20"><br>
Profession : <font size="4" color="#FF0000">*</font><input type="text" name="metier" size="20"><br>
Marque de votre moto : <font size="4" color="#FF0000">*</font><input type="text" name="marque" size="20"><br>
Sa catégorie : <font size="4" color="#FF0000">*</font><input type="text" name="categorie" size="20">exemple VFR ou Shadow<br>
Sa cylindrée : <font size="4" color="#FF0000">*</font><input type="text" name="cc" size="20"><br><br>
Vos commentaires:<br>
 <textarea rows="4" name="commantaire" cols="40"></textarea><br>



<input type="submit" value="Envoyer" name="envoyer">&nbsp;&nbsp;&nbsp;
<input type="reset" value="Recommencer" name="recommencer"> <br>
<br>

</form>

celle-ci me parait normal
maintenant voici la page PHP qui ne fonctionne pas corectement

<?php /* Date de création: 20/06/2007 */ ?>
<html>
<head>
<link rel="stylesheet" media="screen" type="text/css" title="design" href="style1.css" />
 
</head>
<body>
<?php 

// DEBUT Fonction de contrôle du mail PHP-UNIX

function check_mail($mail) { 
if( (preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $mail)) || 
(preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$mail)) ) { 
$host = explode('@', $mail);
if(checkdnsrr($host[1].'.', 'MX') ) return true;
if(checkdnsrr($host[1].'.', 'A') ) return true;
if(checkdnsrr($host[1].'.', 'CNAME') ) return true;
}
return false;
}
$Envoi = 1;
$MailBody .= "Bonjour $prenom \n
tu reçois ce couriel car tu vient de t'inscrire au moto club ardenne \n
voici les infos que tu nous transmet \n \n";

if ($mail == " "){
echo("Vous n'avez pas complété l' émail<br>");
$Envoi = 0;
}
else {
if (check_mail($mail)) {
$MailBody .= "L' émail : $mail\n ";
}
else {
echo("Ton adresse e-mail n'est pas valide<br>");
$Envoi = 0;
}
}

if ($nom == " "){
echo("Vous n'avez pas complété votre nom<br>");
$Envoi = 0;
}
else {
$MailBody .= "Ton nom : $nom\n  ";
}

if ($prenom == " "){
echo("Vous n'avez pas complété votre prénom<br>");
$Envoi = 0;
}
else {
$MailBody .= "Ton prénom : $prenom\n  ";
}

if ($rue == " "){
echo("Vous n'avez pas complété votre rue<br>");
$Envoi = 0;
}
else {
$MailBody .= "Ta rue : $rue\n  ";
}

if ($numero == " "){
echo("Vous n'avez pas complété votre numéro de maison<br>");
$Envoi = 0;
}
else {
$MailBody .= "Ton numéro : $numero\n  ";
}

if ($localiter == " "){
echo("Vous n'avez pas complété votre localiter<br>");
$Envoi = 0;
}
else {
$MailBody .= "Ta localité : $localiter\n  ";
}

if ($cp == " "){
echo("Vous n'avez pas complété votre code postal<br>");
$Envoi = 0;
}
else {
$MailBody .= "Ton code postal : $cp\n  ";
}

if ($gsm == " "){
echo("Vous n'avez pas complété votre numéro de portable <br>");
$Envoi = 0;
}
else {
$MailBody .= "Ton GSM : $gsm\n ";
}

if ($metier == " "){
echo("Vous n'avez pas complété votre profession<br>");
$Envoi = 0;
}
else {
$MailBody .= "Ta proféssion : $metier\n ";
}

if ($marque == " "){
echo("Vous n'avez pas complété la marque de votre moto <br>");
$Envoi = 0;
}
else {
$MailBody .= "Ta moto : $marque\n ";
}

if ($cc == " "){
echo("Vous n'avez pas complété sa cilyndrée<br>");
$Envoi = 0;
}
else {
$MailBody .= "Sa cilyndrée : $cc\n  ";
}

if ($categorie == " "){
echo("Vous n'avez pas complété sa catégorie<br>");
$Envoi = 0;
}
else {
$MailBody .= "Sa catégorie : $categorie\n  ";
}
$MailBody .= "<br>Nous allons te recontacter dans quelque temps afin de finaliser ton inscription";

$MailSubject = "Inscription au moto club ardenne";
$MailHeader =($message) ;
$MailCc = ($mail);
$debut = 'sw122';
$Suite = '420';
$aro = '@';
$dom = 'swi';
$aine = 'ng.be';  
$adresse = '$debut$Suite$aro$dom$aine';
eval( "\$adresse = \"$adresse\";");
$MailTo = ($adresse);

if ($Envoi == 0) echo("<a href=\"Javascript:history.go(-1)\"><strong>Retour</strong></a>");

if ($Envoi == 1) { //vérification que la variable envoi est bien à 1
echo (" <p2>&nbsp;</p2><p2>Voilà $prenom ton inscription c'est bien passer,<br> tu va recevoir la confirmation par émail <br> dans quelques instant.<br> si tel n'est pas le cas fait le nous savoir par émail <br></p2>");
mail($MailTo, $MailSubject, $MailBody, $MailHeader);
mail($MailCc, $MailSubject, $MailBody, $MailHeader);
echo("<p>&nbsp;</p><p>&nbsp;</p><p2><a href=\"index.html\"><strong>Retour au site</strong></a></p2>");

}


?>
</body>
</html>


Voici l'URL pour tester ces pages
http://www.mcardenne.com/formulaire.html
d'avance merci pour le conseille
NB je suis plutôt novice en PHP alors je compte sur votre indulgence
amitié Christian
A voir également:

3 réponses

AzRaElDGT Messages postés 57 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 25 octobre 2008 2
13 oct. 2007 à 10:04
l'erreur ce situ la:

if ($mail == " "){
echo("Vous n'avez pas complété l' émail<br>");
$Envoi = 0;
}
else {
if (check_mail($mail)) {
$MailBody .= "L' émail : $mail\n ";
}
else {
echo("Ton adresse e-mail n'est pas valide<br>");
$Envoi = 0;
}
}


Verifis ton formulaire et que le champs ou tu rentre ton adesse @mail s'appelle bien : "check_mail"

Az
0
AzRaElDGT Messages postés 57 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 25 octobre 2008 2
13 oct. 2007 à 10:15
Oups! j'avais pas vu l'autre partie du code!! donc ne tiens pas compte de mon post au dessus!

essais en enlevant ca:

if( (preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $mail)) || 
(preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$mail)) ) { 
$host = explode('@', $mail);


Pour voir si l'erreur ne viendrais pas de la.

Az
0
papa-christian Messages postés 26 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 24 janvier 2009
13 oct. 2007 à 16:49
Bonjour et merci pour cette idée !
mais cela ne fonctionne pas
voici la réponse
Parse error: syntax error, unexpected '}' in /home/mcardenne/domains/mcardenne.com/public_html/formulaire.php on line 19
0