Problème envoi de requete formulaire PHP

floiris Messages postés 24 Statut Membre -  
 floiris -
Bonjour,

Est-ce qu'une bonne âme pourrait m'aider, on m'a aider à faire un formulaire et une page PHP3 pour le renvoi mais ce message s'affiche quand je clique sur envoyer de la page formulaire

erreur page page Fatal error: Call to undefined function: email() in form2mail.php3 on line 65

Je peux envoyer les deux fichiers à celui qui voudrait m'aider, je lance un sacré SOS , je suis super débutant en PHP et je me prends la tête !!!

Merci d'avance Floriris
Configuration: Windows XP
Firefox 3.0.1

9 réponses

  1. floiris
     
    Re salut, j'ai collé le bout de code que tu m'as envoyé et j'ai une nouvelle erreur

    Parse error: syntax error, unexpected T_VARIABLE, expecting '(' in form2mail.php3 on line 4

    je te met le code de la page php, peut ête que j'ai mal placé le code. merci encore

    <?php

    //Teste la réception de données
    if(isset $_POST)
    {
    'Récupère les infos du formulaire
    $nom = $_POST['Nom'];
    $tel = $_POST['Tel'];ED
    $mail = $_POST['Mail'];
    'sujet du mail
    $sujet = "Réservation";
    'Corps du mail
    $msg = "Réservation de " . $nom . " Tel : " . $tel . " mail : " . $mail;
    'Initialise l'adresse mail du destinataire (ton adresse en fait)
    $dest = "florinda_2@hotmail.fr";

    'envoi du mail
    mail($dest,$sujet,$msg);
    }
    ?>

    <html>

    <head>

    <META HTTP-EQUIV="Content-Type" CONTENT=" text/html; charset=iso-8859-1">

    <title></title>

    <script language="JavaScript" type="text/JavaScript">
    <!--

    function MM_preloadImages() { //v3.0

    var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();

    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)

    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}

    }
    //-->
    </script>

    <META NAME="Author" LANG="fr" CONTENT="sauveur tumeo">

    </head>

    <body marginheight="0" topmargin="0">

    <div align="center"></div>

    <br>

    <table width="421" border="0" align="center" cellpadding="0" cellspacing="6" style="BORDER-RIGHT: #990000 1px solid; BORDER-TOP: #990000 1px solid; BORDER-LEFT: #990000 1px solid; BORDER-BOTTOM: #990000 1px solid">

    <TBODY>

    <tr>

    <td> </td>

    </tr>

    <tr>

    <td><div align="center">Votre Réservation est Prise en Compte.</div>

    </td>

    </tr>

    <tr>

    <td><div align="center">Nous vous contacterons tres bientôt</div>

    </td>

    </tr>

    <tr>

    <td> </td>

    </tr>

    <tr>

    <td><div align="center">Merci</div>

    </td>

    </tr>

    <tr>

    <td> </td>

    </tr>

    </table>

    </body>

    </html>

    <?php
    }
    // affiche le html qui suit si erreur
    //
    else{
    ?>
    <html>
    <head><title>Erreur de formulaire</title></head>
    <body bgcolor="white">
    <h1> Erreur de formulaire </h1>
    </body>
    </html>
    <?php
    }
    ?>

    </body>

    </html>

    <?php

    }

    ?>
    0
  2. incaout Messages postés 347 Date d'inscription   Statut Membre Dernière intervention   74
     
    Salut

    Ton problème vient apparemment du fait que PHP ne connait pas la fonction "email()" que tu appelles.
    Si tu veux utiliser la fonction interne d'envoi de courrier de Php, il faut utiliser mail();

    Tu devrais passer à la version 5 de PHP qui offre plus de fonctions et de facilités sur certaines choses ;-)

    Cdlt

    IC
    -1
  3. incaout Messages postés 347 Date d'inscription   Statut Membre Dernière intervention   74
     
    Salut
    Le problème vient des premières lignes dans ton fichier form2mail. Supprimes tout ce qu'il y a avant la balise <HTML>

    Maintenant ce fichier n'est pas un fichier PHP. Il ne contient aucune ligne de code PHP. En fait, il affiche le message de confirmation de réservation et c'est tout. Est ce l'effet souhaité ou devrait il faire autre chose ?

    Pour passer en PHP 5, il faut que tu installes le programme PHP 5 à la place de PHP 3.

    Cdlt

    IC
    -1
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. floiris Messages postés 24 Statut Membre
     
    Salut !

    en fait il faut que je recoive par email la demande de réservation, et ensuite que la demande de réservation s'affiche sur la page aussi pour indiquer au client que tout a été bien pris en compte.

    Florinda
    -1
  6. incaout Messages postés 347 Date d'inscription   Statut Membre Dernière intervention   74
     
    Ok, dans ce cas là, il te faut ajouter du code PHP dans ton fichier form2Mail.

    <?php

    //Teste la réception de données
    if(isset $_POST)
    {
    'Récupère les infos du formulaire
    $nom = $_POST['Nom'];
    $tel = $_POST['Tel'];
    $mail = $_POST['Mail'];
    'sujet du mail
    $sujet = "Réservation";
    'Corps du mail
    $msg = "Réservation de " . $nom . " Tel : " . $tel . " mail : " . $mail;
    'Initialise l'adresse mail du destinataire (ton adresse en fait)
    $dest = "monadresse@mail.com";

    'envoi du mail
    mail($dest,$sujet,$msg);
    }
    ?>
    <HTML>
    Ici la suite de ta page.

    Evidemment, c sommaire, mais c pour donner une idée :-)

    Bon courage

    IC
    -1
    1. floiris
       
      je vais tester tout dans la soirée et je te dirai si j'arrive enfin à faire fonctionner ce formulaire, avec toutes ces explications ça devrait aller. merci et bonne soirée . Florinda
      0
    2. floiris
       
      Re salut, j'ai collé le bout de code que tu m'as envoyé et j'ai une nouvelle erreur

      Parse error: syntax error, unexpected T_VARIABLE, expecting '(' in form2mail.php3 on line 4

      je te met le code de la page php, peut ête que j'ai mal placé le code. merci encore


      <?php

      //Teste la réception de données
      if(isset $_POST)
      {
      'Récupère les infos du formulaire
      $nom = $_POST['Nom'];
      $tel = $_POST['Tel'];ED
      $mail = $_POST['Mail'];
      'sujet du mail
      $sujet = "Réservation";
      'Corps du mail
      $msg = "Réservation de " . $nom . " Tel : " . $tel . " mail : " . $mail;
      'Initialise l'adresse mail du destinataire (ton adresse en fait)
      $dest = "florinda_2@hotmail.fr";

      'envoi du mail
      mail($dest,$sujet,$msg);
      }
      ?>

      <html>

      <head>

      <META HTTP-EQUIV="Content-Type" CONTENT=" text/html; charset=iso-8859-1">

      <title></title>

      <script language="JavaScript" type="text/JavaScript">
      <!--



      function MM_preloadImages() { //v3.0

      var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();

      var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)

      if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}

      }
      //-->
      </script>

      <META NAME="Author" LANG="fr" CONTENT="sauveur tumeo">

      </head>



      <body marginheight="0" topmargin="0">

      <div align="center"></div>

      <br>

      <table width="421" border="0" align="center" cellpadding="0" cellspacing="6" style="BORDER-RIGHT: #990000 1px solid; BORDER-TOP: #990000 1px solid; BORDER-LEFT: #990000 1px solid; BORDER-BOTTOM: #990000 1px solid">

      <TBODY>

      <tr>

      <td> </td>

      </tr>

      <tr>

      <td><div align="center">Votre Réservation est Prise en Compte.</div>

      </td>

      </tr>

      <tr>

      <td><div align="center">Nous vous contacterons tres bientôt</div>

      </td>

      </tr>

      <tr>

      <td> </td>

      </tr>

      <tr>

      <td><div align="center">Merci</div>

      </td>

      </tr>

      <tr>

      <td> </td>

      </tr>

      </table>

      </body>

      </html>


      <?php
      }
      // affiche le html qui suit si erreur
      //
      else{
      ?>
      <html>
      <head><title>Erreur de formulaire</title></head>
      <body bgcolor="white">
      <h1> Erreur de formulaire </h1>
      </body>
      </html>
      <?php
      }
      ?>

      </body>

      </html>

      <?php

      }

      ?>
      0
  7. incaout Messages postés 347 Date d'inscription   Statut Membre Dernière intervention   74
     
    Salut,

    G corrigé un ou deux trucs. il faut enlever mes commentaires ou les faire précéder de //
    Par contre tu ne peux pas gérer l'affichage conditionnel de ta page comme tu le fais. Si tu veux faire un affichage conditionnel, il faut que tu reprennes le script PHP à part dans un fichier PHP et que tu fasses une redirection en fonction du test de la condition. Je te mets le code à la suite (séapré par une ligne)

    <?php

    //Teste la réception de données
    if(isset ($_POST))
    {
    //Récupère les infos du formulaire
    $nom = $_POST['Nom'];
    $tel = $_POST['Tel'];
    $mail = $_POST['Mail'];
    //sujet du mail
    $sujet = "Réservation";
    //Corps du mail
    $msg = "Réservation de " . $nom . " Tel : " . $tel . " mail : " . $mail;
    //Initialise l'adresse mail du destinataire (ton adresse en fait)
    $dest = "florinda_2@hotmail.fr";

    //envoi du mail
    mail($dest,$sujet,$msg);
    }
    ?>

    <html>

    <head>

    <META HTTP-EQUIV="Content-Type" CONTENT=" text/html; charset=iso-8859-1">

    <title></title>

    <script language="JavaScript" type="text/JavaScript">
    <!--

    function MM_preloadImages() { //v3.0

    var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();

    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)

    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}

    }
    //-->
    </script>

    <META NAME="Author" LANG="fr" CONTENT="sauveur tumeo">

    </head>

    <body marginheight="0" topmargin="0">

    <div align="center"></div>

    <br>

    <table width="421" border="0" align="center" cellpadding="0" cellspacing="6" style="BORDER-RIGHT: #990000 1px solid; BORDER-TOP: #990000 1px solid; BORDER-LEFT: #990000 1px solid; BORDER-BOTTOM: #990000 1px solid">

    <TBODY>

    <tr>

    <td> </td>

    </tr>

    <tr>

    <td><div align="center">Votre Réservation est Prise en Compte.</div>

    </td>

    </tr>

    <tr>

    <td><div align="center">Nous vous contacterons tres bientôt</div>

    </td>

    </tr>

    <tr>

    <td> </td>

    </tr>

    <tr>

    <td><div align="center">Merci</div>

    </td>

    </tr>

    <tr>

    <td> </td>

    </tr>

    </table>

    </body>

    </html>

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------
    //Gestion de l'affichage conditionnel

    //Fichier Php

    <?php

    //Teste la réception de données
    if(isset ($_POST))
    {
    //Récupère les infos du formulaire
    $nom = $_POST['Nom'];
    $tel = $_POST['Tel'];
    $mail = $_POST['Mail'];
    //sujet du mail
    $sujet = "Réservation";
    //Corps du mail
    $msg = "Réservation de " . $nom . " Tel : " . $tel . " mail : " . $mail;
    //Initialise l'adresse mail du destinataire (ton adresse en fait)
    $dest = "florinda_2@hotmail.fr";
    //Mémorise la page à charger en cas de succès
    $page="confirmation.html" //mettre ici le nom du fichier HTML à afficher pour la confirmation
    //envoi du mail
    mail($dest,$sujet,$msg);
    }
    else
    {
    $page="Erreur.html"; //mettre ici le nom du fichier à afficher pour l'erreur
    }

    //Redirige vers la bonne page
    header($page);
    ?>

    Donc il te faut en tout 4 fichiers :
    1) le fichier HTML avec le formulaire
    2) le fichier PHP qui est appelé lors de la soumission du formulaire
    3) le fichier HTML de confirmation
    4) le fichier HTML d'erreur.

    Bon courage

    IC

    PS. j'espère ne pas avoir fait d'autres erreurs. A tester
    -1
    1. floiris
       
      hello ça marche !!! enfin que je commence à y voir plus clair, je m'entraine à changer les champs qui seront envoyé par email (par je veux récupérer le nom, le tel, l'adresse...)

      j'ai copié le premier code que tu as placé, par contre le deuxième ou tu parles de gestion de l'affichage conditionnel, je suis entrain de regarder sur le net ce dont il s'agit, à priori je n'en ai pas besoin dans ce cas précis non? en tout cas je te remercie de ta patience car en général quand on est débutant , c'est pas évident de comprendre les infos que que l'on trouve même dans les tutoriaux, c'est jamais expliqué" de façon pédagogique.

      J'y retourne et bonne soirée. Florinda
      0
  8. incaout Messages postés 347 Date d'inscription   Statut Membre Dernière intervention   74
     
    Salut.

    Y a pas de quoi. Bonne continuation ;-)

    IC
    -1
    1. floiris
       
      Coucou me revoilà, je me débrouille pour rajouter des champs à recevoir par emails,

      par ex :

      $msg = "-Réservation de " . $nom . " -Mon Adresse est: " . $Adresse . " -Mon mail : " . $mail . "-ma ville :" . $ville . " Jour de Départ:" . $jours_aller ;

      je reçois bien toutes les infos sur mon adresses email mais tout est à la ligne

      ex:

      -Réservation de renaud -Mon Adresse est: dsdsd -Mon mail : florinda_2@hotmail.fr-ma ville :les chapelles JOurde Départ:2

      est-ce possible de recevoir ces mêmes infos mais que ce soit à la ligne , est-il possible d'incopore des br dans du php?

      Sinon dernière question, mon formulaire contient beaucoup de données obligatoire que le client devra cocher, puisque c'est une réservation, je suis obligé de rajouter à chaque des champs dans le fichier php
      comme ça

      $nom = $_POST['Nom'];
      $Adresse = $_POST['Adresse'];
      $mail = $_POST['Mail'];
      $ville = $_POST['Ville'];
      $jours_aller = $_POST['jours_aller'];


      Merci et bonne soirée.
      0
  9. incaout Messages postés 347 Date d'inscription   Statut Membre Dernière intervention   74
     
    Salut,

    Tu peux parfaitement mettre du HTML dans le code PHP. Il suffit d'inclure les balises comme cela :

    $texte = "<html><title></title><body><p>Reservation de " . $nom . "</p>";

    Pour les champs, tu n'es pas forcément obligé de les associer à des variables.

    Tu peux aussi faire $msg = "nom : " . $_POST['Nom'];

    Si enfin tu souhaites mettre chaque nom de champ et sa valeur sur une ligne, tu peux faire une boucle de parcours du tableau $_POST

    foreach($_POST as $key=>$valeur)
    {
    $msg = $msg . $key . " : " .$valeur ."<br>";
    }
    Et cela te donnera :
    Nom : Xxxxxxxxxxxxxxx
    Prénom : Yyyyyyyyyyyy
    etc....

    Cdlt

    IC
    -1
    1. floiris
       
      tes explications sont super ! bonne soirée . florinda
      0