Page 1 sur 1

Aide php

Posté : 20 juin 2007, 09:31
par Glaw
Bonjour alors voila j'ai ce code :
<?php

echo '<html>';
echo '<head>';
echo '</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;
    }
    else
    {
        return false;
    }
}


// FIN Fonction de contrôle du mail
$MailTo = "[email protected]"; //adresse à laquelle sera envoyé le contenu du formulaire
$MailSubject = '$champ7'; //texte qui va figurer dans le champ "sujet" du email
$MailHeader = '$_POST[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
$MailBody = "" ;
$champ1 = $_POST['champ1'];


if (!empty(trim($champ1)))
{ //nom du champ1
    echo "Vous n'avez pas complété le champ1<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 (!empty(trim($_POST['champ2'])) 
{
    echo $_POST['champ2'];
    $Envoi = 1;
}
else
{
    echo "Vous n'avez pas complété le champ2.<br>";
	$Envoi = 0;
}

if (!empty(trim($_POST['champ3'])) 
{
    echo "Vous n'avez pas complété le champ 3.<br />";
    $Envoi = 0;
}
else
{
    $MailBody .= "Adresse : $champ3\n";
}

if (!empty(trim($_POST['champ4']))
{
    echo "Vous n'avez pas complété le champ 4.<br />";
    $Envoi = 0;
}
else
{
    $Mailbody .= "Téléphone : $champ4\n";
}

if (!empty(trim($_POST['champ5'])) 
{
    echo "Vous n'avez pas complété le champ 5.<br />";
}
else
{
    $MailBody .= "Téléphone Mobile : $champ5\n";
}

if($champ6 == $_POST['champ6'])
{
    echo "Vous n'avez pas complété le champ 6.<br />";
    $Envoi = 0;
}
else
{
    
    if(check_mail($_POST['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 align=\"center\"><a href=\"c_outils/c_formulaire.html\"><strong>Retour</strong></a></p>";

    if ($champ8 == $_POST['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 align=\"center\"><a href=\"formulaire.html\"><strong>Retour</strong></a></p>"; //affichage d'un message de confirmation.
    }
echo '</body>';
echo '</html>';
?>
Et je me demande ou est le problème ?


Merci pour vos réponse.

Posté : 20 juin 2007, 09:46
par Cyrano
Personne ne pourra te le dire si tu ne précise pas :
-1- le résultat attendu;
-2- le résultat effectivement obtenu (absence d'affichage d'un élément, message d'erreur, autre...)

Posté : 20 juin 2007, 09:50
par Glaw
Le résultat attendu c'est tout simplement que je puisse envoyer un mail grace au formulaire remplis avant.


Et le message d'erreur est :


Parse error: parse error, expecting `T_VARIABLE' or `'$'' in p:\easyphp1-8\www\site\formulaire\nadform.php on line 41

Posté : 20 juin 2007, 10:01
par Cyrano
Ben voilà, comme ça on sait où chercher :
regarde ça :
if (!empty(trim($_POST['champ2']))
Compte les parenthèses ;)

Posté : 20 juin 2007, 16:38
par Invité
C'est bon j'ai fini mon formulaire alors merci a tout le monde..

Et à bientôt si j'ai encore besoin d'aide.

Merciiiiiii

:D

Posté : 20 juin 2007, 16:40
par zeus
Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)