Aide php

Fermé
glaw57 Messages postés 13 Date d'inscription jeudi 7 juin 2007 Statut Membre Dernière intervention 19 juin 2007 - 18 juin 2007 à 15:33
socquetsarah Messages postés 163 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 26 juin 2008 - 20 juin 2007 à 14:31
Bonjour j'ai un problème avec ce code PHP : Quelqu'un pourrait me dire ce qui ne va pas ? Merci

<html>
<head></head>
<body>
<?php

// DEBUT Fonction de contrôle du mail PHP-UNIX
function check_mail($champ6)
{
if
((preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $champ6))
||
(preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$champ6)) )
{
$host = explode('@', $champ6);

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 = "glaw-57@hotmail.fr"; //adresse à laquelle sera envoyé le contenu du formulaire
$MailSubject = $champ7 ; //texte qui va figurer dans le champ "sujet" du email
$MailHeader = $champ6; //adresse email qui va figurer dans le champ "expéditeur" du email et qui peut être remplacé par la variable "$champx" ("$champ3").

/* 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

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 {
$MailBody .= "Nom : $champ1\n"; //si le champ1 contient de l'information, elle est stockée dans la variable MailBody
}
if ($champ2 == "")
{
echo("Vous n'avez pas complété le champ 2.<br>");
$Envoi = 0;
}
else
{
$MailBody .= "Prénom : $champ2\n";
}
if ($champ3 == "")
{
echo("Vous n'avez pas complété le champ 3.<br>");
$Envoi = 0;
}
else
{
$MailBody .= "Adresse : $champ3\n";
}
if($champ4 == "")
{
echo("Vous n'avez pas complété le champ 4.<br>");
$Envoi = 0;
}
else
{
$Mailbody .= "Téléphone : $champ4\n";
}
if($champ5 == "")
{
echo("Vous n'avez pas complété le champ 5.<br>");
}
else
{
$MailBody .= "Téléphone Mobile : $champ5\n";
}
if ($champ6 == "")
{
echo("Vous n'avez pas complété le champ 6.<br>");
$Envoi = 0;
}
else
{
if (check_mail($champ6))
{
$MailBody .= "Mail : $champ6\n";
}
else
{
echo("L'adresse e-mail du champ 6 n'est pas valide<br>");
$Envoi = 0;
}
$MailBody .="Votre demande de renseignement porte sur : ";

$items = 3; //initialisation du nombre d'items possibles

for ($i = 1; $i <= $items; $i++) //boucle sur le nombre d'items
{
$MailBody .= "$champ7[$i], "; //stockage des items choisis dans la variable MailBody
}
if ($Envoi == 0) echo("<p> </p><p> </p><p align=\"center\"><a href=\"c_outils/c_formulaire.html\"><strong>Retour</strong></a></p>");

if ($champ8 == "")
{
echo("Vous n'avez pas complété le champ 8.<br>");
$Envoi = 0;
}
else
{
$MailBody .= "Commentaire : $champ8\n";
}

//Envoi du message

if ($Envoi == 1) //vérification que la variable envoi est bien à 1
{
mail($MailTo, $MailSubject, $MailBody, $MailHeader); //envoi du message
echo("<p>Votre message a bien été envoyé.<br>Merci de vos commentaires.");
echo("<p> </p><p> </p><p align=\"center\"><a href=\"formulaire.html\"><strong>Retour</strong></a></p>"); //affichage d'un message de confirmation.
}
?>
</body>
</html>
A voir également:

4 réponses

socquetsarah Messages postés 163 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 26 juin 2008 35
18 juin 2007 à 15:46
<?php
echo("<html> ")
echo("<head></head> ")
echo("<body> ")


// DEBUT Fonction de contrôle du mail PHP-UNIX
function check_mail($champ6)
{
if
((preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $champ6))
||
(preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$champ6)) )
{
$host = explode('@', $champ6);

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 = "glaw-57@hotmail.fr"; //adresse à laquelle sera envoyé le contenu du formulaire
$MailSubject = $champ7 ; //texte qui va figurer dans le champ "sujet" du email
$MailHeader = $champ6; //adresse email qui va figurer dans le champ "expéditeur" du email et qui peut être remplacé par la variable "$champx" ("$champ3").

/* 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

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 {
$MailBody .= "Nom : $champ1\n"; //si le champ1 contient de l'information, elle est stockée dans la variable MailBody
}
if ($champ2 == "")
{
echo("Vous n'avez pas complété le champ 2.<br>");
$Envoi = 0;
}
else
{
$MailBody .= "Prénom : $champ2\n";
}
if ($champ3 == "")
{
echo("Vous n'avez pas complété le champ 3.<br>");
$Envoi = 0;
}
else
{
$MailBody .= "Adresse : $champ3\n";
}
if($champ4 == "")
{
echo("Vous n'avez pas complété le champ 4.<br>");
$Envoi = 0;
}
else
{
$Mailbody .= "Téléphone : $champ4\n";
}
if($champ5 == "")
{
echo("Vous n'avez pas complété le champ 5.<br>");
}
else
{
$MailBody .= "Téléphone Mobile : $champ5\n";
}
if ($champ6 == "")
{
echo("Vous n'avez pas complété le champ 6.<br>");
$Envoi = 0;
}
else
{
if (check_mail($champ6))
{
$MailBody .= "Mail : $champ6\n";
}
else
{
echo("L'adresse e-mail du champ 6 n'est pas valide<br>");
$Envoi = 0;
}
$MailBody .="Votre demande de renseignement porte sur : ";

$items = 3; //initialisation du nombre d'items possibles

for ($i = 1; $i <= $items; $i++) //boucle sur le nombre d'items
{
$MailBody .= "$champ7[$i], "; //stockage des items choisis dans la variable MailBody
}
if ($Envoi == 0) echo("<p> </p><p> </p><p align=\"center\"><a href=\"c_outils/c_formulaire.html\"><strong>Retour</strong></a></p>");

if ($champ8 == "")
{
echo("Vous n'avez pas complété le champ 8.<br>");
$Envoi = 0;
}
else
{
$MailBody .= "Commentaire : $champ8\n";
}

//Envoi du message

if ($Envoi == 1) //vérification que la variable envoi est bien à 1
{
mail($MailTo, $MailSubject, $MailBody, $MailHeader); //envoi du message
echo("<p>Votre message a bien été envoyé.<br>Merci de vos commentaires.");
echo("<p> </p><p> </p><p align=\"center\"><a href=\"formulaire.html\"><strong>Retour</strong></a></p>"); //affichage d'un message de confirmation.
}
?>
</body>
</html>

0
glaw57 Messages postés 13 Date d'inscription jeudi 7 juin 2007 Statut Membre Dernière intervention 19 juin 2007
18 juin 2007 à 15:57
Ton code ne marche pas non plus... ils me disent problème ligne 3 donc ?
0
socquetsarah Messages postés 163 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 26 juin 2008 35
18 juin 2007 à 22:04
il me semblait que quelques choses clochets

<?php
echo("<html> ") ;
echo("<head></head> ") ;
echo("<body> ") ;

// DEBUT Fonction de contrôle du mail PHP-UNIX
function check_mail($champ6)
{
if
((preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $champ6))
||
(preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$champ6)) )
{
$host = explode('@', $champ6);

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 = "glaw-57@hotmail.fr"; //adresse à laquelle sera envoyé le contenu du formulaire
$MailSubject = $champ7 ; //texte qui va figurer dans le champ "sujet" du email
$MailHeader = $champ6; //adresse email qui va figurer dans le champ "expéditeur" du email et qui peut être remplacé par la variable "$champx" ("$champ3").

/* 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

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 {
$MailBody .= "Nom : $champ1\n"; //si le champ1 contient de l'information, elle est stockée dans la variable MailBody
}
if ($champ2 == "")
{
echo("Vous n'avez pas complété le champ 2.<br>");
$Envoi = 0;
}
else
{
$MailBody .= "Prénom : $champ2\n";
}
if ($champ3 == "")
{
echo("Vous n'avez pas complété le champ 3.<br>");
$Envoi = 0;
}
else
{
$MailBody .= "Adresse : $champ3\n";
}
if($champ4 == "")
{
echo("Vous n'avez pas complété le champ 4.<br>");
$Envoi = 0;
}
else
{
$Mailbody .= "Téléphone : $champ4\n";
}
if($champ5 == "")
{
echo("Vous n'avez pas complété le champ 5.<br>");
}
else
{
$MailBody .= "Téléphone Mobile : $champ5\n";
}
if ($champ6 == "")
{
echo("Vous n'avez pas complété le champ 6.<br>");
$Envoi = 0;
}
else
{
if (check_mail($champ6))
{
$MailBody .= "Mail : $champ6\n";
}
else
{
echo("L'adresse e-mail du champ 6 n'est pas valide<br>");
$Envoi = 0;
}
$MailBody .="Votre demande de renseignement porte sur : ";

$items = 3; //initialisation du nombre d'items possibles

for ($i = 1; $i <= $items; $i++) //boucle sur le nombre d'items
{
$MailBody .= "$champ7[$i], "; //stockage des items choisis dans la variable MailBody
}
if ($Envoi == 0) echo("<p> </p><p> </p><p align=\"center\"><a href=\"c_outils/c_formulaire.html\"><strong>Retour</strong></a></p>");

if ($champ8 == "")
{
echo("Vous n'avez pas complété le champ 8.<br>");
$Envoi = 0;
}
else
{
$MailBody .= "Commentaire : $champ8\n";
}

//Envoi du message

if ($Envoi == 1) //vérification que la variable envoi est bien à 1
{
mail($MailTo, $MailSubject, $MailBody, $MailHeader); //envoi du message
echo("<p>Votre message a bien été envoyé.<br>Merci de vos commentaires.");
echo("<p> </p><p> </p><p align=\"center\"><a href=\"formulaire.html\"><strong>Retour</strong></a></p>"); //affichage d'un message de confirmation.
}
?>
</body>
</html>
0
glaw57 Messages postés 13 Date d'inscription jeudi 7 juin 2007 Statut Membre Dernière intervention 19 juin 2007
19 juin 2007 à 08:55
Ok merci mais maintenant ils me disent que mes variables ne sont pas rempli pourtant dans mon autre page je rempli bien ses variable.

Peut-tu m'aider stp?

Si tu veux bien je peux t'envoyé mes 2 pages par mail pour voir ce qui ne va pas.

Merci
0
glaw57 Messages postés 13 Date d'inscription jeudi 7 juin 2007 Statut Membre Dernière intervention 19 juin 2007
19 juin 2007 à 10:27
Je pense avoir trouver, faut-il que je déclare mes variables avant et que je les initialise a 0?

Mais comment faire pour quel soit remplis par une auitre page?

Merci de répondre
0
socquetsarah Messages postés 163 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 26 juin 2008 35
20 juin 2007 à 14:31
bonjour dans ton formulaire, les endroits où tu recuperes les données saisit dans le formulaires, tu les mets dans un $Post['nom du champs']
il me semble que c'est ca
0