IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

traitement en php d'un formulaire de contact


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 104
    Points : 45
    Points
    45
    Par défaut traitement en php d'un formulaire de contact
    Bonjour,

    je cherche désespéremment à faire fonctionner mon formulaire. Voilà j'ai créé mon formulaire en html, j'ai fait une vérification des champs enjavascript qui marche. J'ai fait un fichier traitement.php qui permet d'envoyer un mail à l'administrateu du site avec les données saisies dans le formulaire. le soucis c que j'ai des messages d'erreur "undefined variable"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Notice: Undefined variable: message in d:\easyphp1-8\www\sernhac\traitement.php on line 99
     
    Notice: Undefined variable: titre_message in d:\easyphp1-8\www\sernhac\traitement.php on line 103
     
    Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in d:\easyphp1-8\www\sernhac\traitement.php on line 106
    Une erreur est survenue
    pourriez vous me dire d'où viennent les erreurs ....??? merci de votre aide

    voici mon formulaire.html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    <form action="traitement.php" method="POST" enctype="text/plain" onsubmit="javascript: return verification(this);">
     
     
    <p class="cssform">
    <label for="nom">Nom:</label>
    <input name="nom" type="text" id="nom" value="" /> 
    <span class="champ_obli">(*)</span></p>
     
    <p class="cssform">
    <label for="prenom">Prénom:</label>
    <input name="prenom" type="text" id="prenom" value="" />
    <span class="champ_obli">(*)</span></p>
     
    <p class="cssform">
    <label for="adresse">Adresse:</label>
    <input name="adresse" type="text" id="adresse" value="" />
    <span class="champ_obli">(*)</span></p>
     
    <p class="cssform">
    <label for="adresse">Code postal:</label>
    <input name="code" type="text" id="code" value="" />
    <span class="champ_obli">(*)</span></p>
     
    <p class="cssform">
    <label for="ville">Ville:</label>
    <input name="ville" type="text" id="ville" value="" />
    <span class="champ_obli">(*)</span></p>
     
    <p class="cssform">
    <label for="telephone">Téléphone:</label>
    <input name="telephone" type="text" id="telephone" value="" />
    </p>
     
    <p class="cssform">
    <label for="adresse_mail">Adresse email:</label>
    <input name="email" type="text" id="email" value="" />
    <span class="champ_obli">(*)</span></p>
     
    <p class="cssform">
    <label for="titre_message">Titre de votre message:</label>
    <input name="titre_message" type="text" id="titre" value="" />
    <span class="champ_obli">(*)</span></p>
     
    <p class="cssform">
    <label for="message">Votre message:</label>
    <textarea name="message" cols="25" rows="5" id="message"></textarea>
    <span class="champ_obli">(*)</span></p>
     
    <p></p>
    <p class="cssform">
    <label for="message"></label>
      <input name="Envoyer" type="submit" id="Envoyer" value="Envoyer"  />
    </p>
     
    </form>
    voici mon fichier traitement.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    <?
    			//définition de l'adresse du destinataire
     
    			$email_destinataire='dedel53@hotmail.com';
     
    	// Réception et contrôle des données du formulaire
     
    			if (isset($_REQUEST["nom"],$_REQUEST["prenom"],$_REQUEST["adresse"],$_REQUEST["code"],$_REQUEST["ville"],$_REQUEST["telephone"],$_REQUEST["email"],$_REQUEST["titre_message"],$_REQUEST["message"]))
    {
    	$nom=$_REQUEST["nom"];
    	$prenom=$_REQUEST["prenom"];
    	$adresse=$_REQUEST["adresse"];
    	$code=$_REQUEST["code"];
    	$ville=$_REQUEST["ville"];
    	$telephone=$_REQUEST["telephone"];
    	$email=$_REQUEST["email"];
    	$titre_message=$_REQUEST["titre_message"];
    	$message=$_REQUEST["message"];
    }
     
    //Préparation de l'en-tête du mail
     
    $ls_entete  ='MIME-Version: 1.0\r\n';
    $ls_entete .='From: '.$nom." ".$prenom; 
    $ls_entete .='Reply-To: '.$email."\r\n";
    $ls_entete .='Content-Type: text/plain; charset="iso-8859-1"';
    $ls_entete .='\r\nContent-Transfert-Encoding: 8bit\r\n';
     
    //Préparation du corps du mail
     
    $message_email="Bonjour,\n"
    ."Un visiteur vient de remplir leformulaire de contact,\n"
    ."------------------Contenu--------------------"
    ."Nom: ".$nom."\n"
    ."Prenom: ".$prenom."\n"
    ."Adresse: ".$adresse." ".$code." ".$ville."\n"
    ."Email: ".$email."\n"
    ."Sujet: ".$titre_message."\n"
    ."-------------------Message--------------------"
    ."Message: ".$message."\n";
     
    //Préparation du titre
     
    $objet=$titre_message;
     
    //envoi mail
    if(mail($email_destinataire,$objet,$message_email,$ls_entete))
    {
    echo'Votre message a bien été envoyé à la mairie de Sernhac';
    }
    else
    {
    echo'Une erreur est survenue';
    }
    ?>

  2. #2
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    salut,
    comme le dit le message d'erreur, le problème vient du fichier traitement.php et plus précisemment de la ligne 99 et 103.
    Est ce que tu pourrais nous donner ces lignes en particulier pour qu'on voit ce qui cloche.
    Sinon, tu travailles en local sous easyPhp et je ne pense pas que cette configuration te permette d'envoyer le mail. Le code ne provoquera pas d'erreur mais le mail ne partira pas (sauf erreur de ma part).

  3. #3
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 465
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 465
    Points : 4 651
    Points
    4 651
    Par défaut
    salut,
    pour tes "notices" d'erreur lignes 99 et 103 ca doit etre des variables qui ne sont pas/ ou mal définie...

    faudrait un bout de code avec ces lignes pour voir....

    sinon;
    Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in d:\easyphp1-8\www\sernhac\traitement.php on line 106
    ca veux dire que tu n'as pas paramétré ton SMTP dans le fichier "php.ini" de easy php.
    pour remédier a ce probleme, je rajoutes 2,3 lignes avant l'envoie du mail
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ini_set("SMTP","ton_smtp");
    ini_set("sendmail_from","toi@toi.fr");
    avec ces deux ligne, ca évite de modifier manuellement "php.ini" a chaque fois...

Discussions similaires

  1. Problème avec le fichier PHP pour le formulaire de contact
    Par °°° Zen-Spirit °°° dans le forum Langage
    Réponses: 4
    Dernier message: 25/03/2011, 18h29
  2. formulaire de contact Flash/Php
    Par flavioteca dans le forum Flash
    Réponses: 5
    Dernier message: 01/04/2008, 20h31
  3. Réponses: 11
    Dernier message: 10/01/2006, 07h23
  4. Prob avec PHP sur le formulaire de contact
    Par inferno66667 dans le forum Langage
    Réponses: 7
    Dernier message: 16/11/2005, 17h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo