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. 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
  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. 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. <?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