Formulaire de contact

Bonjour et bonne année a tous,

J utilise un templates html5

J ai un problème avec l envoi du formulaire de contact si je clique sur envoyer rien ne se passe j ai paramétrer le fichier php

lien du site
http://www.sos24cernaydepannage.com/test/

Merci de votre aide

14 réponses

  • Votes
  • Date
  • Date décroissante
  1. c'est normal, dans ton action t'as rien mis --'

    tu post dans le vide lol
    1. ah ouais j'avais zappé le fichier js en bas (le truc à pas faire quoi), les fichiers JavaScript on les met en haut, pas en bas --'

      sinon, chez moi j'ai passé au sniffer et ça marche bien, la requête est bien envoyé =)

      regarde du côté de ton php

      je te met le résultat du sniff ....

      ------------------------------------
      POST /test/send_form_email.php HTTP/1.1
      Host: www.sos24cernaydepannage.com
      User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:17.0) Gecko/20100101 Firefox/17.0
      Accept: application/json, text/javascript, */*; q=0.01
      Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
      Accept-Encoding: gzip, deflate
      DNT: 1
      Connection: keep-alive
      Content-Type: application/x-www-form-urlencoded; charset=UTF-8
      X-Requested-With: XMLHttpRequest
      Referer: http://www.sos24cernaydepannage.com/test/
      Content-Length: 43
      Cookie: 90plan=R3276217630
      Pragma: no-cache
      Cache-Control: no-cache
      
      name=fghfgh&email=hfghfgh&message=fghfghfgh
      
      HTTP/1.1 200 OK
      1. ok donc je met le js a la suite des autres

        ci joint mon php mais je ne vois pas ce qui peux etre faux

        <?php

        $send_email_to = "mon mail@domaine.fr";
        $email_subject = "Message bla bla";

        function send_email($name,$email,$email_message)
        {
        global $send_email_to;
        global $email_subject;

        $headers = "MIME-Version: 1.0" . "\r\n";
        $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
        $headers .= "From: ".$email. "\r\n";

        $message = "<strong>Email = </strong>".$email."<br>";
        $message .= "<strong>Nom = </strong>".$name."<br>";
        $message .= "<strong>Message = </strong>".$email_message."<br>";
        @mail($send_email_to, $email_subject, $message,$headers);
        return true;
        }

        function validate($name,$email,$message)
        {
        $return_array = array();
        $return_array['success'] = '1';
        $return_array['name_msg'] = '';
        $return_array['email_msg'] = '';
        $return_array['message_msg'] = '';

        if($email == '')
        {
        $return_array['success'] = '0';
        $return_array['email_msg'] = 'email is required';
        }
        else
        {
        $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
        if(!preg_match($email_exp,$email)) {
        $return_array['success'] = '0';
        $return_array['email_msg'] = 'enter valid email.';
        }
        }

        if($name == '')
        {
        $return_array['success'] = '0';
        $return_array['name_msg'] = 'name is required';
        }
        else
        {
        $string_exp = "/^[A-Za-z .'-]+$/";
        if (!preg_match($string_exp, $name)) {
        $return_array['success'] = '0';
        $return_array['name_msg'] = 'enter valid name.';
        }
        }

        if($message == '')
        {
        $return_array['success'] = '0';
        $return_array['message_msg'] = 'message is required';
        }
        else
        {
        if (strlen($message) < 2) {
        $return_array['success'] = '0';
        $return_array['message_msg'] = 'enter valid message.';
        }
        }
        return $return_array;
        }

        $name = $_POST['name'];
        $email = $_POST['email'];
        $message = $_POST['message'];

        $return_array = validate($name,$email,$message);
        if($return_array['success'] == '1')
        {
        send_email($name,$email,$message);
        }

        header('Content-type: text/json');
        echo json_encode($return_array);
        die();

        ?>

        merci de ton aide
        1. tu peux me faire un print_r($return_array); juste après l'appel de la fonction validate(), juste avant la condition success==1

          renvoies moi le résultat =)
          1. je vient de rajouter le print mais le probleme est que l orsque je clique sur envoyé rien ne se passe
            1. si je vais sur la page php

              il me donne ceci

              Array ( [success] => 0 [name_msg] => name is required [email_msg] => email is required [message_msg] => message is required )
              Warning: Cannot modify header information - headers already sent by (output started at /homez.232/gautomob/sos/test/send_form_email.php:82) in /homez.232/gautomob/sos/test/send_form_email.php on line 88

              Fatal error: Call to undefined function: json_encode() in /homez.232/gautomob/sos/test/send_form_email.php on line 89
              1. 1 : json_encode() n'est pas reconnu, c'est normal si tu n'as pas PECL json

                essayes de faire un php -i | grep json pour voir si c'est activé, et si t'as un accès ssh

                2 : fait moi un print_r() avec des données --' lool
                1. comment je dois faire un php -i | grep json ?

                  mais le souci est que je ne peux pas cliquer sur envoyer le formulaire rien ne se passe prq?

                  merci de ton aide
                  1. tu le fait en shell via ton accès ssh, si t'en a un, ou sinon tu fait un phpinfo(), au pire si t'as rien d'autres =)

                    fait moi un print_r() en faisant comme si tu envoyais un mail (si ça fonctionne, c'est ton php qui merde)...
                    1. lien du phpinfo

                      http://www.sos24cernaydepannage.com/info.php

                      je ne vois pas ou je dois mettre le print_r?
                      1. je ne vois pas de json dans le phpinfo, il ne doit pas être activé

                        le print_r() tu le met après le $return_array = validate($name,$email,$message);
                        1. ok dons je dois l activer?

                          cci joint le print rajoute

                          dit moi si c est bon

                          <?php

                          // EDIT THE 2 LINES BELOW AS REQUIRED

                          $send_email_to = "mon mail";
                          $email_subject = "blabla";

                          function send_email($name,$email,$email_message)
                          {
                          global $send_email_to;
                          global $email_subject;

                          $headers = "MIME-Version: 1.0" . "\r\n";
                          $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
                          $headers .= "From: ".$email. "\r\n";

                          $message = "<strong>Email = </strong>".$email."<br>";
                          $message .= "<strong>Nom = </strong>".$name."<br>";
                          $message .= "<strong>Message = </strong>".$email_message."<br>";
                          @mail($send_email_to, $email_subject, $message,$headers);
                          return true;
                          }

                          function validate($name,$email,$message)
                          {
                          $return_array = array();
                          $return_array['success'] = '1';
                          $return_array['name_msg'] = '';
                          $return_array['email_msg'] = '';
                          $return_array['message_msg'] = '';

                          if($email == '')
                          {
                          $return_array['success'] = '0';
                          $return_array['email_msg'] = 'email is required';
                          }
                          else
                          {
                          $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
                          if(!preg_match($email_exp,$email)) {
                          $return_array['success'] = '0';
                          $return_array['email_msg'] = 'enter valid email.';
                          }
                          }

                          if($name == '')
                          {
                          $return_array['success'] = '0';
                          $return_array['name_msg'] = 'name is required';
                          }
                          else
                          {
                          $string_exp = "/^[A-Za-z .'-]+$/";
                          if (!preg_match($string_exp, $name)) {
                          $return_array['success'] = '0';
                          $return_array['name_msg'] = 'enter valid name.';
                          }
                          }

                          if($message == '')
                          {
                          $return_array['success'] = '0';
                          $return_array['message_msg'] = 'message is required';
                          }
                          else
                          {
                          if (strlen($message) < 2) {
                          $return_array['success'] = '0';
                          $return_array['message_msg'] = 'enter valid message.';
                          }
                          }
                          return $return_array;
                          }

                          $name = $_POST['name'];
                          $email = $_POST['email'];
                          $message = $_POST['message'];

                          $return_array = validate($name,$email,$message);
                          print_r($return_array);
                          if($return_array['success'] == '1')
                          {
                          send_email($name,$email,$message);
                          }

                          header('Content-type: text/json');
                          echo json_encode($return_array);
                          die();

                          ?>

                          par contre comment je fais pour regarder si je clique sur envoyer et rien ne se passe?

                          Merci