Witam,
mam problem z kodem dotyczącym formularza oraz wysyłania maila z załącznikiem:
Właściwie problem zaczyna się już na samym początku.. nie wiem dlaczego wtyczka validate nie chce przeprowadzić walidacji...

Wpierw formularz:
  1. <form method="post" name="formularz-aplikacyjny" action="mail.php" enctype="multipart/form-data" id="mail">
  2.  
  3. <div id="imiediv"><label for="name">Imię i nazwisko: <em>*</em> </label><br>
  4. <input type="text" name="name" id="name" type="text" class="required" title="Wpisz swoje imię i nazwisko"></div><br>
  5.  
  6. <div id="emaildiv"><label for="email">Email: <em>*</em> </label><br>
  7. <input type="text" name="email" type='text' class="required" id="email" title="Wpisz swój adres email"></div><br>
  8.  
  9. <div id="listdiv"><label for="message">List motywacyjny: <em>*</em></label><br>
  10. <textarea name="message" rows='5' cols='48' maxrows='7' class="required" id="message" title="Wpisz treść listu motywacyjnego" ></textarea></div><br>
  11.  
  12. <div id="cvdiv"><label for="uploaded_file">Wybierz plik CV: <em>*</em></label><br>
  13. <input type="file" name="uploaded_file" title="<h3>Wybierz plik CV do przesłania</h3>" class="required" id="file"></div><br>
  14.  
  15. <input type="submit" value="Prześlij" id="submitbutton">
  16. </form>
  17.  
  18. <div id="loading-mail">
  19. <h2>Wysyłamy maila.....</h2>
  20. </div>
  21. <div id="success">
  22. <h2>Twój e-mail został wysłany!</h2>
  23. </div>


Tutaj wtyczka validate i kod umiszczony w $(document).ready(function() {});
Kod
$('#mail').validate({
  
   rules: {
     email: {
        required: true,
        email: true
     },
      name: {
        required: true

     },    
     message: {
        required: true,
        rangelength:[50,300]
     }
   }, //koniec literału obiektowego rules
   messages: {
      email: {
         required: "<h3>Podaj adres e-mail.</h3>",
         email: "<h3>To nie jest prawidłowy <br>adres e-mail.</h3>"
       },
       name: {
         required: "<h3>Podaj swoje imię i nazwisko.</h3>"
       },
      message: {
        required: "<h3>Wpisz treść listu motywacyjnego.</h3>",
        rangelength: "<h3>List motywacyjny powinien mieć od 50 do 300 znaków.</h3>"
      }
   },

    submitHandler: function() {
    

        var thisForm = $('form');
        $('form').fadeOut(function(){
          //Display the "loading" message
          $("#loading").fadeIn(function(){
            //Post the form to the send script
            $.ajax({
              type: 'POST',
              url: thisForm.attr("action"),
              data: thisForm.serialize(),
              //Wait for a successful response
              success: function(data){
                //Hide the "loading" message
                $("#loading").fadeOut(function(){
                  //Display the "success" message
                  $("#success").text(data).fadeIn();
              }
            });
          });
        });
      }
    });  // koniec funkcji validate


oraz kod php który wogóle nie wysyła mi żadnych informacji z pól formularza oraz błędnie wysyła załącznik... czy mógłby mi ktoś pomoc ?

  1. <?php
  2.  
  3. if(isset($_FILES) && (bool) $_FILES) {
  4.  
  5. $allowedExtensions = array("pdf","doc","docx","txt");
  6.  
  7. $files = array();
  8. foreach($_FILES as $name=>$file) {
  9. $file_name = $file['name'];
  10. $temp_name = $file['tmp_name'];
  11. $file_type = $file['type'];
  12. $path_parts = pathinfo($file_name);
  13. $ext = $path_parts['extension'];
  14. if(!in_array($ext,$allowedExtensions)) {
  15. die("File $file_name has the extensions $ext which is not allowed");
  16. }
  17. array_push($files,$temp_name);
  18. }
  19.  
  20. // email fields: to, from, subject, and so on
  21. $to = "dawid.zaik@gmail.com";
  22. $from = $_POST['email'];
  23. $subject ="Formularz aplikacyjny";
  24. $message = $_POST['message'];
  25. $imie = $_POST['name'];
  26. $headers = "From: $name $from";
  27. // boundary
  28. $semi_rand = md5(time());
  29. $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
  30.  
  31. // headers for attachment
  32. $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\"";
  33.  
  34. // multipart boundary
  35. $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n";
  36. $message .= "--{$mime_boundary}\n";
  37.  
  38. // preparing attachments
  39. for($x=0;$x<count($files);$x++){
  40. $file = fopen($files[$x],"rb");
  41. $data = fread($file,filesize($files[$x]));
  42. fclose($file);
  43. $data = chunk_split(base64_encode($data));
  44. $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$files[$x]\"\n" .
  45. "Content-Disposition: attachment;\n" . " filename=\"$files[$x]\"\n" .
  46. "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n";
  47. $message .= "--{$mime_boundary}\n";
  48. }
  49.  
  50. // send
  51.  
  52. mail($to, $subject, $message, $headers);
  53. echo "Twój e-mail został wysłany! Dziękujemy za kontakt.";
  54. }
  55. ?>