PB formulaire email

Bonjour,

J'ai récemment mis en place un petit formulaire de contact sur mon site internet. J'ai suivi les instructions données par ce lien http://www.salemioche.net/script-php-1.php mais ça ne fonctionne pas chez moi. Pourtant j'ai tout suivi à la lettre...

Voici le contenu intégral de mon fichier formmail.php :

<?php
$TO = "studio@xxxxxx.com";

$h = "From: " . $TO;

$message = "";

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

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

$cible = "http://www.xxxxxx.com/merci.html";

echo '<script>window.location.href="'.$cible.'";</script>';

?>


J'ai juste changé la fin, mais ça ce n'est pas un problème.
Voici la réponse que je reçois lorsque je clique sur "Envoyer" :

Not Found
The requested URL /formmail.php was not found on this server.

Apache/1.3.39 Server at www.ya-graphic.com Port 80


Il me dit que le fichier formmail.php n'est pas trouvé sur le serveur, c'est bizarre parce qu'il y est...
Pour info, mon hébergement accepte le PHP.
Configuration: Windows XP
Firefox 2.0.0.12

16 réponses

  1. Contributeur
    salut

    un pb d adresse non ?
    port 80 c est sur ton pc il me semble non ?
    0
    1. salut,
      quel est l'intitulé de l'appel à ton fichier formmail.php ?
      0
      1. Voici le code form qui se trouve dans le code html de ma page contact.html :

        <div align=center>
        <form method=POST action=formmail.php >
        <input type=hidden name=subject value=formmail>
        <table>
        <tr>
        <td class="style2">Votre Nom:</td>
        <td><input type=text name=realname size=30></td></tr>
        <tr><td class="style2">Votre Email:</td>
        <td><input type=text name=email size=30></td></tr>
        <tr><td class="style2">Sujet:</td>
        <td><input type=text name=title size=30></td></tr>
        <tr><td colspan=2><span class="style2">Commentaires:</span><br>
        <textarea COLS=50 ROWS=6 name=comments></textarea>
        </td>
        </tr>
        </table>
        <br> <input type=submit value=Envoyer> -
        <input type=reset value=Annuler>
        </form>
        </div>
        0
    2. tout d'abord, si ce n'est déjà fait, il convient de mettre certaines données entre parenthèses, notament
      <form method"POST" action="formmail.php">
      

      ensuite peut-être faut-il mettre
      "./formmail.php"
      
      0
      1. C'est toujours pareil. je reçois le message 404, pourtant le fichier PHP script formmail.php se trouve bien dans la racine.
        0
    3. une autre manière d'appeler pourrait être
         url(formmail.php)
      ou
         url(./formmail.php)
      
      0
      1. toujours pareil, je reçois ce message à la place :

        Method Not Allowed
        The requested method POST is not allowed for the URL /contact.html.


        quand j'ai placé url(./formmail.php) à la place de action="formmail.php"
        0
        1. ok...
          je crois qu'il reste encore à essayer
          action="/formmail.php"
          

          sinon, je suis dans l'impasse :-(
          0
          1. ok, alors je le suis aussi parce que j'ai tout essayé :(

            Tu connaitrais pas un bon tuto pour réaliser un bon et beau formulaire ? :)
            0
            1. ce ne sont pas les sites qui manquent... (google: html form)
              la méthode n'est pas à remettre en question. Est-ce que tu travailles en local ?
              peut-être en créant un fichier lambda.php ne contenant qu'une instruction "entrée dans le fichier confirmée" pour savoir si c'est le nom du fichier qui pose un problème ou l'appel du fichier qui fait défaut ?
              0
              1. je crois que je vais chercher une autre méthode :) merci
                0
                1. je viens de tester ton form en local chez moi et l'appel action="formmail.php" a fonctionné sans problème...
                  donc, il ne reste qu'à remettre en question le nom du fichier dans ton code ?
                  je rappelle qu'il est important aussi que les paramètres de tes balises soient encadrés par des guillemets.
                  <balise param1="valeur" param2="valeur"></balise>
                  

                  j'ai noté d''après le code que tu as fourni qu'il en manque beaucoup... (même si cela n'a à priori pas d'influence sur l'appel qui pose problème, mais c'est plus propre pour le DHTML)
                  0
                  1. salut carbon3,

                    Tu peux me passer ton code ?
                    merci
                    0
                2. yann_zzz.php :
                  <html>
                  <body>
                  <div align="center"> 
                  <form method="POST" action="formmail.php" > 
                  <input type="hidden" name="subject" value="formmail"> 
                  <table> 
                  <tr> 
                  <td class="style2">Votre Nom:</td> 
                  <td><input type="text" name="realname" size="30"></td></tr> 
                  <tr><td class="style2">Votre Email:</td> 
                  <td><input type="text" name="email" size="30"></td></tr> 
                  <tr><td class="style2">Sujet:</td> 
                  <td><input type="text" name="title" size="30"></td></tr> 
                  <tr><td colspan="2"><span class="style2">Commentaires:</span><br> 
                  <textarea COLS="50" ROWS="6" name="comments"/>
                  </td> 
                  </tr> 
                  </table> 
                  <br> <input type="submit" value="Envoyer"> - 
                  <input type="reset" value="Annuler"> 
                  </form> 
                  </div>
                  </body>
                  </html>
                  

                  formmail.php :
                  <html>
                  <body>
                  <h1>HELLO WORLD"</h1>
                  </body>
                  </html>
                  
                  0
                  1. salut,

                    A mon avis, c'est mon fichier script qui n'est pas bon, le formmail.php... les guillemets sont facultatifs je pense. :)

                    J'aimerais voir l'intégralité du code de ton fichier script formmail.php. Le code est variable, et attention les erreurs...
                    0
                    1. re

                      eh bien, tu as tout ce que j'ai. Je ne travaillais que sur action=forrmmail.php.
                      Maintenant, si le traitement du contenu de formmail est à étudier, le code que tu as envoyé en numéro 1 est la chose ?
                      Bon, ben, j'ai la tête sous le capot...

                      Pour les guillemets : tous les navigateurs ne sont pas aussi tolérants que Firefox.
                      0
                      1. maintenant je travaille sur un autre type de formulaire, plus complexe, mais facile à mettre en oeuvre, voici le lien : http://www.6ma.fr/tuto/faire-un-formulaire-html-css-php-1-sur-3/ Le seul problème est que la requête vers mon serveur mysql ne fonctionne pas. Je reçois ce type de message :

                        Table 'yagraphi.formulaire' doesn't exist

                        On dit que le pb viendrait de la casse, mais tout est correct, les caractères sont tous en minuscules. J'ai bien créé ma table dans ma base de donnée. J'ai changé le nom du fichier script formmail.php en traitement.php. Bizarrement ça bloquait avec le nom formmail.

                        Voilà, ce qui me gêne c'est la requête. Comment je fais ???
                        0
                        1. oups !

                          L'erreur suivante c'est produite :

                          L'URL requise n'a pu etre trouvée sur ce serveur.

                          Merci de vérifier l'URL ou de contacter le Webmaster.
                          0