Aide php

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>
Configuration: Windows XP
Firefox 2.0.0.4

4 réponses

  1. <?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
    1. Ton code ne marche pas non plus... ils me disent problème ligne 3 donc ?
      0
      1. 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
    2. 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
      1. 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
        1. 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