Ce forum est en partie financé par l’affichage de publicités. Merci de désactiver votre bloqueur de publicités pour nous permettre de continuer à fournir ce service.

Problème avec formulaire php

Discussion dans 'Développement web' créé par soad78, 22 Décembre 2008.

Modérateurs: Nephou
  1. soad78

    soad78 Membre confirmé

    Inscrit:
    3 Mars 2006
    Messages:
    146
    J'aime reçus:
    0
    Bonjour,

    Je n'ai que très peu de connaissance en php, et je souhaiterais faire un formulaire php pour mon site web, mais je rencontre divers problèmes...

    1) Quand je clic sur Envoyer je ne reçois rien sur ma boîte e-mail.
    2) Je souhaiterais un intégrer un code javascript, qui vérifie si les champs obligatoires sont bien remplis.
    3) J'aimerai bien que mon formulaire est un barre de défilement vertical mais pas horizontal comment faire ?
    4) Quand la personne a cliqué sur le Bouton Envoyer je voudrais qu'une fenêtre pop-up s'ouvre et que le message "Votre message a bien été envoyé ! " apparaisse...

    Merci pour votre aide !


    Voici mon code html :

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>formulaire</title>
    <style type="text/css">
    <!--
    .Style3 {color: #CC0000}
    -->
    </style>
    </head>

    <div align=center>
    <form method=POST action=formmail.php >
    <input type=hidden name=subject value=formmail>
    <table> <span class="Style3">* Champs Obligatoires</span>
    <tr><td><b>Nom :</b>*</td>
    <td><input type=text name=realname size=30></td></tr>
    <tr><td><b>Prénom :</b>*</td>
    <td><input type=text name=realname size=30></td></tr>
    <tr><td><b>Société :</b>*</td>
    <td><input type=text name=realname size=30></td></tr>
    <tr><td><b>Téléphone :</b></td>
    <td><input type=text name=realname size=30></td></tr>
    <tr><td><b>Email :</b>*</td>
    <td><input type=text name=email size=30></td></tr>
    <tr><td><b>Sujet :</b>*</td>
    <td><input type=text name=message size=30></td></tr> <br />
    <tr><td colspan=2><b>Message :</b>*<br />


    <textarea COLS=33 ROWS=6 name=comments></textarea>
    </td></tr>
    </table>
    <br> <input type=submit value=Envoyer>
    <input type=reset value=Annuler>
    </form>
    </div>

    <body>
    </body>
    </html>



    Voici mon code php :[/]

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>formmail.php</title>
    </head>

    <?php
    $TO = "infographiste78@gmail.com";

    $h = "From: " . $TO;

    $message = "";

    while (list($key, $val) = each($HTTP_POST_VARS)) {
    $message .= "$key : $val\n";
    }

    mail($TO, $subject, $message, $h);

    Header("Location: http://<URL de la page de remerciement>");


    ;

    ?>
     
  2. Gz'

    Gz' Membre émérite

    Inscrit:
    29 Mai 2007
    Messages:
    761
    J'aime reçus:
    45
    J'ai modifié un peu le code html, ajout des guillemets pour les paramètres des champs. Ca peut foutre le bordel si t'en mets pas.


    Code (Text):

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>formulaire</title>
    <style type="text/css">
    <!--
    .Style3 {color: #CC0000}
    -->
    </style>
    </head>

    <div align=center>
    <form method="POST" action="formmail.php">
    <input type="hidden" name="subject" value="formmail">
    <table> <span class="Style3">* Champs Obligatoires</span>
    <tr><td><b>Nom :</b>*</td>
    <td><input type="text" name="realname" size="30" /></td></tr>
    <tr><td><b>Prénom :</b>*</td>
    <td><input type="text" name="realname" size="30" /></td></tr>
    <tr><td><b>Société :</b>*</td>
    <td><input type="text" name="realname" size="30" /></td></tr>
    <tr><td><b>Téléphone :</b></td>
    <td><input type="text" name="realname" size="30" /></td></tr>
    <tr><td><b>Email :</b>*</td>
    <td><input type="text" name="email" size="30" /></td></tr>
    <tr><td><b>Sujet :</b>*</td>
    <td><input type="text" name="message" size="30" /></td></tr> <br />
    <tr><td colspan="2"><b>Message :</b>*<br />


    <textarea COLS="33" ROWS="6" name="comments"></textarea>
    </td></tr>
    </table>
    <br> <input type="submit" value="Envoyer">
    <input type="reset" value="Annuler">
    </form>
    </div>

    <body>
    </body>
    </html>

     

    pour le code php, j'ai rien changé, j'ai testé avec un echo, ça s'affiche bien. il n'y a aucune raison que le mail ne parte pas, Si ça ne part pas c'est que soit ton hebergeur ne supporte pas la fonction mail ( ce dont je doute fortement ) soit que le header que tu as composé n'est pas bon (je ne l'ai pas testé)

    J'ai aussi viré le header HTML qui ne sert à rien ici.

    Code (Text):

    <?php
    $TO = "infographiste78@gmail.com";

    $h = "From: " . $TO;

    $message = "";

    while (list($key, $val) = each($HTTP_POST_VARS)) {
    $message .= "$key : $val\n";
    }


    mail($TO, $subject, $message, $h);



    Header("Location: http://<URL de la page de remerciement>");


    ;

    ?>
     
     
  3. Anonyme

    Anonyme Invité

    Tu devrais mettre ton code entre [code] et [/code] pour que ça soit plus lisible. :)

    Sinon il y a mieux comme script, par exemple celui-ci, qui est protégé contre le spam. De plus, dans ton cas, il ne faut pas mettre le formulaire dans un tableau et il manque les labels pour les champs.

     
  4. grumff

    grumff Membre d’élite
    Club MacG

    Inscrit:
    9 Novembre 2000
    Messages:
    3 606
    J'aime reçus:
    99
    Il est hébergé où ton site ? Parce que les hébergeurs gratuits supportent rarement la fonction mail, ou proposent parfois des fonctions équivalents mais avec quelques restrictions.
     
Modérateurs: Nephou
Chargement...