Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme php et javascript ensemble

Sujet résolu
    27 novembre 2005 à 1:44:45

    Bonjour

    Mon formulaire en php seulement fonctionne, mon formulaire en javascript seul fonctionne, mais quand je met les 2 ça ne marche plus!
    je m'explique j'ai une page html (contact.html) avec du javascript qui signale un message d'erreur quand un champ n'est pas rempli. J'ai une autre page en php (merci.php)qui renvoie l'internaute sur une autre page(merci.html) et qui m'envoi un mail directement.Mais sa veut pas marcher... voila mon code en javascript :
    <script type="text/javascript" language="Javascript" >
    <!--
    function verification()
    {
    if(document.form2.societe.value == "") {
    alert("Veuillez entrer votre nom svp");
    document.form2.societe.focus();
    return false;
    }
    else
    if(document.form2.nom.value == "") {
    alert("Veuillez entrer votre prenom svp");
    document.form2.nom.focus();
    return false;
    }
    else
    if(document.form2.email.value == "") {
    alert("Veuillez entrer votre adresse electronique svp");
    document.form2.email.focus();
    return false;
    }
    else
    if(document.form2.email.value.indexOf('@') == -1) {
    alert("Ce n'est pas une adresse electronique, verifiez la svp");
    document.form2.email.focus();
    return false;
    }
    else
    if(document.form2.message.value == "") {
    alert("Veuillez entrer le texte de votre message svp");
    document.form2.message.focus();
    return false;
    }
    return true
    }
    //-->
    </script>


    et dans la balise form j'ai cela: <form name="form2" method="post" action="merci1.php" onSubmit="return verification()">

    voila mon code php dans ma page merci.php:
    <?php
    $email="yassin0403@hotmail.com";
    $sujet="contact";
    $message= "Société: .htmlentities({$_POST['societe']}.)\n";
    $message.= "Nom: .htmlentities({$_POST['nom']})\n";
    $message.= "E-mail: .htmlentities({$_POST['email']})\n";
    $message.= "Téléphone: .htmlentities({$_POST['tel']})\n";
    $message.= "Source: .htmlentities({$_POST['referer']})\n";
    $message.= "Message: .htmlentities({$_POST['message']})\n";
    mail($email,$sujet,$message);
    $insertGoTo = "http://www.hotel.com/sortiereservation.htm";
    if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $HTTP_SERVER_VARS['QUERY_STRING'];
    }
    header(sprintf("Location: %s", $insertGoTo));
    ?>



    Pourriez vous me conseiller ou m'aider? merci
    • Partager sur Facebook
    • Partager sur Twitter
      27 novembre 2005 à 1:59:19

      Tu tiens au javascript!?
      Car tu peut effectuer tes diverses verifications en PHP!!!
      Genre:

      if ($_POST['nom'] == EMPTY){$erreur = 'Vous n\'avez pas rempli le champ nom';}
      • Partager sur Facebook
      • Partager sur Twitter
      Erreur PDO - Installation Wamp - Docs PHP et MYSQL.
        27 novembre 2005 à 2:16:09

        J'ai mis ce code que tu m'as donné mais il y a cela comme resultat:

        Parse error: parse error, expecting `'('' in c:\program files\easyphp1-8\www\merci1.php on line 17
        • Partager sur Facebook
        • Partager sur Twitter
          27 novembre 2005 à 2:22:36

          Tu as mis se code ou ca!? Sur ta page contact!? Dans ce cas, tu devras changer l'extension "contact.php"
          • Partager sur Facebook
          • Partager sur Twitter
          Erreur PDO - Installation Wamp - Docs PHP et MYSQL.
            27 novembre 2005 à 2:24:00

            je l'ai mis dans ma page merci.php avec le code php du formulaire. C'est pas un probleme de parenthese...?
            • Partager sur Facebook
            • Partager sur Twitter
              27 novembre 2005 à 2:38:06

              C'est normal alors!!! Refait ta page "contact.php" comme ca (exemple):

              <?php
              // Tout tes controles (tu fais selon tes champs)
              if ($_POST['nom'] == EMPTY){$erreur = 'Vous n\'avez pas rempli le champ nom';}
              else if ($_POST['prenom'] == EMPTY){$erreur = 'Vous n\'avez pas rempli le champ prenom';}
              // ...
              else{
              // Instructions d'envoie d'e-mail
              $titre = "";
              $tete = "";
              $corps = "";
              mail("", $titre, stripslashes($corps), $tete);
              }
              ?>
              <form action="contact.php" method="post">
              // ton formulaire
              • Partager sur Facebook
              • Partager sur Twitter
              Erreur PDO - Installation Wamp - Docs PHP et MYSQL.
                27 novembre 2005 à 3:06:28

                jessaye mais il me dit qu'il y a une erreur de parse dans cette ligne :
                if ($_POST['nom'] == EMPTY){$erreur = 'Vous n\'avez pas rempli le champ nom';}
                • Partager sur Facebook
                • Partager sur Twitter
                  27 novembre 2005 à 3:09:50

                  Alors essaye comme ca:

                  if (!isset($_POST['nom'])){$erreur = 'Vous n\'avez pas rempli le champ nom';}
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Erreur PDO - Installation Wamp - Docs PHP et MYSQL.
                    27 novembre 2005 à 3:15:35

                    ok c'est mieu mais encore 2 probleme:il n'y a pas de message d'erreur quand je ne rempli pas un champs et je recoit ça dans mon mail:Société: \nNom: \nE-mail: \nTéléphone: \nSource: Moteur de recherche\nMessage:
                    \n

                    • Partager sur Facebook
                    • Partager sur Twitter
                      27 novembre 2005 à 3:28:44

                      Envoi ton code complet stp
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Erreur PDO - Installation Wamp - Docs PHP et MYSQL.
                        27 novembre 2005 à 3:32:25

                        <?php

                        if (!isset($_POST['nom'])){$erreur = 'Vous n\'avez pas rempli le champ nom';}

                        else{

                        $email="yassin0403@hotmail.com";
                        $sujet="contact client buroline";
                        $message= 'Société: '.htmlentities($_POST['societe']).'\n';
                        $message.= 'Nom: '.htmlentities($_POST['nom']).'\n';
                        $message.= 'E-mail: '.htmlentities($_POST['email']).'\n';
                        $message.= 'Téléphone: '.htmlentities($_POST['tel']).'\n';
                        $message.= 'Source: '.htmlentities($_POST['referer']).'\n';
                        $message.= 'Message: '.htmlentities($_POST['message']).'\n';
                        $header='Content-Type: text/plain; charset=ISO-8859-1\r\n';
                        mail($email,$sujet,$message,$header);
                        }
                        ?>
                        • Partager sur Facebook
                        • Partager sur Twitter
                          27 novembre 2005 à 3:41:29

                          Normal que tu reçoive les \n...

                          entre ', ils ne sont pas interprétés comme des retours à la ligne !
                          en revanche, si tu les mets entre ", ça devrait fonctionner !


                          continuons avec le ($_POST['nom'] == EMPTY) de b-dav ou bien son (!isset($_POST['nom']))
                          plutot de faire ça, tu peux tout simplement faire un (empty($_POST['nom'])) qui renverra FALSE si $_POST['nom'] est vide (si si c'est possible qu'une variable soit initialisée et pourtant vide !) contrairement au isset qui se contente de voir si une variable est initialisée !


                          enfin, le javascript pour les vérifications, c'est bien, ça rend la page un peu plus conviviale (pas besoin de refresh), mais bon... le problème est que c'est très facilement passable, si on a envie de t'ennuyer !


                          ça doit être tout ^^
                          si quelque chose d'autre me vient, j'édite :)

                          bonne soirée/nuit :p


                          edit: ah si :D
                          les htmlentities sont inutiles, vu que ton mail ne sera pas envoyé en HTML (tu n'envoie pas les headers pour !)
                          • Partager sur Facebook
                          • Partager sur Twitter
                            27 novembre 2005 à 3:44:16

                            contact.php


                            <?php
                            if (!isset($_POST['societe'])){$erreur = 'Vous n\'avez pas rempli le champ societe';}
                            else if (!isset($_POST['email'])){$erreur = 'Vous n\'avez pas rempli le champ email';}
                            else if (!isset($_POST['tel'])){$erreur = 'Vous n\'avez pas rempli le champ tel';}
                            else if (!isset($_POST['referer'])){$erreur = 'Vous n\'avez pas rempli le champ referer';}
                            else if (!isset($_POST['message'])){$erreur = 'Vous n\'avez pas rempli le champ message';}

                            else{

                            $email='yassin0403@hotmail.com';
                            $sujet='contact client buroline';
                            $message= 'Société: '.htmlentities($_POST['societe']).'\n';
                            $message.= 'Nom: '.htmlentities($_POST['nom']).'\n';
                            $message.= 'E-mail: '.htmlentities($_POST['email']).'\n';
                            $message.= 'Téléphone: '.htmlentities($_POST['tel']).'\n';
                            $message.= 'Source: '.htmlentities($_POST['referer']).'\n';
                            $message.= 'Message: '.htmlentities($_POST['message']).'\n';
                            $header='Content-Type: text/plain; charset=ISO-8859-1\r\n';
                            mail($email,$sujet,$message,$header);
                            }
                            ?>
                            <html><head></head><body>
                            <?php
                            if (isset($erreur)){echo''.$erreur.'';}
                            ?>

                            // ton formulaire

                            </body></html>


                            Je peu pas faire plus explicatif :)

                            EDIT: Merci Thanaroth je ne savais po!!! Comme quoi meme a 4h du mat on en apprend toujours!!! :D
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Erreur PDO - Installation Wamp - Docs PHP et MYSQL.
                              27 novembre 2005 à 3:50:38

                              merci énormément pour votre aide, je vais essayer et réflechir aux conseils que vous m'avez donné. ;)
                              • Partager sur Facebook
                              • Partager sur Twitter
                                27 novembre 2005 à 3:51:36

                                un peu plus proprement ^^

                                <?php
                                $erreur = '';
                                if (empty($_POST['societe'])) $erreur .= 'Vous n\'avez pas rempli le champ societe<br />';
                                if (empty($_POST['email'])) $erreur .= 'Vous n\'avez pas rempli le champ email<br />';
                                if (empty($_POST['tel'])) $erreur .= 'Vous n\'avez pas rempli le champ tel<br />';
                                if (empty($_POST['referer'])) $erreur .= 'Vous n\'avez pas rempli le champ referer<br />';
                                if (empty($_POST['message'])) $erreur .= 'Vous n\'avez pas rempli le champ message<br />';

                                if (empty($erreur))
                                        {
                                        $email = 'yassin0403@hotmail.com';
                                        $sujet = 'contact client buroline';
                                        $message = 'Société: ' . $_POST['societe'] . "\n";
                                        $message .= 'Nom: ' . $_POST['nom'] . "\n";
                                        $message .= 'E-mail: ' . $_POST['email'] . "\n";
                                        $message .= 'Téléphone: ' . $_POST['tel'] . "\n";
                                        $message .= 'Source: ' . $_POST['referer'] . "\n";
                                        $message .= 'Message: ' . $_POST['message'] . "\n";
                                        $header = "Content-Type: text/plain; charset=ISO-8859-1\r\n";
                                        mail($email,$sujet,$message,$header);
                                        }
                                ?>
                                <html>
                                        <head>
                                                <title>Blablabla</title>
                                        </head>
                                        <body>
                                        <?php
                                        echo @$erreur;
                                        ?>

                                        // le formulaire
                                        </body>
                                </html>


                                ça devrait marcher ^^



                                edit: y'avait une tite bêtise mineure avec les headers...

                                si ça ne marche pas, dis le moi, j'ai pas le courage de tester, et puis il est quand même 4h du mat :p
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  27 novembre 2005 à 3:56:18

                                  Copier-colleur + modifieur :D
                                  Mais c'est vrai que c'est plus clair comme ca (mais a cette heure si la flem c'est empare de mes yeux et de mes neuronnes) :D

                                  ++
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  Erreur PDO - Installation Wamp - Docs PHP et MYSQL.

                                  probleme php et javascript ensemble

                                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                  • Editeur
                                  • Markdown