Help ! AJAX - POST et PHP pour fichier CSV

Help ! AJAX - POST et PHP pour fichier CSV - HTML/CSS - Programmation

Marsh Posté le 12-03-2011 à 16:35:27    

Bonjour,
 
Je dois réaliser un petit script qui enregistre les noms et adresse mail des gens dans un CSV avant de donner accès a un téléchargement de brochure hors, cela ne fonctionne pas.
 
Mon javascript :
 

Code :
  1. function sendInfos()
  2. {
  3. var msg= $("#name" ).val();
  4. if(msg.length == 0)
  5. {
  6.  $("#name-error" ).slideDown(500);
  7.  $("#name" ).focus();
  8.  return false;
  9. }
  10. else
  11.  $("#name-error" ).slideUp(500);
  12. var msg= $("#surname" ).val();
  13. if(msg.length == 0)
  14. {
  15.  $("#surname-error" ).slideDown(500);
  16.  $("#surname" ).focus();
  17.  return false;
  18. }
  19. else
  20.  $("#surname-error" ).slideUp(500);
  21. var email = $("#email" ).val();
  22. var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
  23. if(!filter.test(email))
  24. {
  25.  $("#email-error" ).slideDown(500);
  26.  $("#email" ).focus();
  27.  return false;
  28. }
  29. else
  30.  $("#email-error" ).slideUp(500);
  31. var data = $("#infos_form > form" ).serialize();
  32. $.ajax({
  33.  type: "POST",
  34.  url: "downloads.php",
  35.  data: data,
  36.  cache: false,
  37. });
  38. $("#infos_form" ).fadeOut(1000, function() {
  39.  $("#downloads" ).fadeIn(500);
  40. });
  41. return false;
  42. };


 
Mon formulaire :
 

Code :
  1. <div id="infos_form">
  2.    <p>Veuillez compléter le formulaire ci-dessous pour prendre contact avec notre société :</p>
  3.    <form method="POST" onsubmit="return sendInfos();" action="include/modules/downloads.php"><fieldset>
  4.     <p>
  5.      <label for="name" id="lname">Nom :</label>
  6.      <input type="text" class="text" name="name" id="name" onfocus="input_focus('name');" onblur="input_blur('name');" />
  7.     </p>
  8.     <p class="error" id="name-error">Vous devez renseigner votre nom</p>
  9.     <p>
  10.      <label for="surname" id="lsurname">Prénom :</label>
  11.      <input type="text" class="text" name="surname" id="surname" onfocus="input_focus('surname');" onblur="input_blur('surname');" />
  12.     </p>
  13.     <p class="error" id="surname-error">Vous devez renseigner votre prénom</p>
  14.     <p>
  15.      <label for="email" id="lemail">Adresse email :</label>
  16.      <input type="text" class="text" name="email" id="email" onfocus="input_focus('email');" onblur="input_blur('email');" />
  17.     </p>
  18.     <p class="error" id="email-error">Vous devez entrer une adresse email valide</p>
  19.     <input type="submit" class="submit" name="send_infos" value="Envoyer" />
  20.    </form></fieldset>
  21.   </div>
  22.   <div id="downloads" style="display:none;">
  23.    <p>Telechargez nos brochures</p>
  24.    <p>De suite</p>
  25.   </div>


 
Et mon fichier PHP :
 

Code :
  1. <?php
  2. $surname = $_GET['surname'];
  3. $name = $_GET['name'];
  4. $email = $_GET['email'];
  5. $fichier=fopen('../../exports/prospects.csv','a+');
  6. fgets($fichier);
  7. fputs($fichier, $surname.";".$name.";".$email."\r\n" );
  8. fclose($fichier);
  9. ?>


 
Si dans mon fichier JS, je modifie la variable suivante :

Code :
  1. var data = $("#infos_form > form" ).serialize();

par

Code :
  1. var datda = $("#infos_form > form" ).serialize();


 
Il va incrémenter mon CSV et me renvois sur mon fichier downloads.php par contre si je laisse en l'état, il ne créé même pas le fichier et m'affiche la rubrique pour télécharger la brochure.
 
Auriez-vous une idée d'où peut venir le problème ? Je suis perdu là, je viens deja de tuer une souris de colère, 2 jours sur ce problème qui je suppose doit être simple pour une personne d'avertie.
 
Merci à vous.  [:simchevelu]  

Reply

Marsh Posté le 12-03-2011 à 16:35:27   

Reply

Marsh Posté le 12-03-2011 à 18:25:54    

Bon j'ai placé ceci entre la variable qui appele l'ajax :
 

Code :
  1. alert (data);


 
Les valeurs soumises sont donc correctes, mais je ne vois pas on cela coince.
 
Si quelqu'un pouvait m'aider, je le paye si il faut, dans deux jours le site doit être OP  :(

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed