Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1303 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [AJAX] problème d'etat...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[AJAX] problème d'etat...

n°2185914
golumest
Posté le 15-04-2013 à 17:12:16  profilanswer
 

Bonjour,
 
J'ai un soucis avec un bout de code AJAX :
j'ai besoin à chaque click d'un utilisateur de le tracer, donc j'ai fait une petite fonction ajax qui appelle un php qui se charge d'inserer en bdd les stats
 
Le js :
 

Code :
  1. function add_stat(borne, table, ID, nom, id_parent) {
  2.     var xhr = XMLHttpRequest();
  3.     xhr.onreadystatechange = function() {
  4.         if ((xhr.readyState == 4 )&& (xhr.status == 200 || xhr.status == 0)) {
  5.             alert(xhr.responseText);
  6.         };
  7.     };
  8.      
  9. xhr.open("GET", "include/addstats.php?borne="+borne+"&table="+table+"&ID="+ID+"&nom="+nom+"&ID_parent="+id_parent, true);
  10. xhr.send(null);
  11. }


 
le php (je pense pas que se soit utile)

Code :
  1. <?php
  2. header("Content-Type: text/plain" );
  3. require_once ('../lib/BDD_fonctions.php') ;
  4. $bdd = BDD_connect() ;
  5. // Test de la validité des informations
  6. if (isset($_GET['table']) and ($_GET['table'] == "details" or $_GET['table'] == "pages" ) and isset($_GET['ID']) and $_GET['ID'] != "" ) {
  7. if ($_GET['table'] == "details" ) {
  8.  $bdd->query('INSERT INTO  `stat_details` (`ID_details`, `borne`) VALUES ( \''.$_GET['ID'].'\',  \''.$_GET['borne'].'\')') ;
  9.  echo 'details : INSERT INTO  `stat_details` (`ID_details`, `borne`) VALUES ( \''.$_GET['ID'].'\',  \''.$_GET['borne'].'\')';
  10. } else if ($_GET['table'] == "pages" ) {
  11.  $bdd->query('INSERT INTO  `stat_pages` (`ID_element`, `nom_element`, `ID_parent`,`borne`) VALUES ( \''.$_GET['ID'].'\', \''.$_GET['nom'].'\', \''.$_GET['ID_parent'].'\', \''.$_GET['borne'].'\' )') ;
  12.  echo 'pages :INSERT INTO  `stat_pages` (`ID_element`, `nom_element`, `ID_parent`,`borne`) VALUES ( \''.$_GET['ID'].'\', \''.$_GET['nom'].'\', \''.$_GET['ID_parent'].'\', \''.$_GET['borne'].'\' )';
  13. }
  14. }
  15. ?>


 
le code ci dessous ne fonctionne pas : il n'y a pas d'insertion en bdd
 
par contre si j'affiche le resultat du onreadystatechange avec un else alert(xhr.readyState) en ligne 7 du js, je visualise bien tous les états y compris les echos du php, et, dans ce cas l'insertion en bdd est effective.
Je ne comprends pas pourquoi si je ne mets pas cette ligne il ne lis jamais l'état 4 de la réponse?!
 
help!
 
merci!


Message édité par golumest le 15-04-2013 à 17:14:39
mood
Publicité
Posté le 15-04-2013 à 17:12:16  profilanswer
 

n°2186595
mechkurt
Posté le 19-04-2013 à 11:21:37  profilanswer
 

Ton code est remplis de faille, tu risque des injections SQL...
Nettoie tes variables $_GET et utilise mysql_real_escape_string.
 
Pour ton erreur javascript, peut être le ; après l'accolade ligne 7, utilise un debugger javascript comme firebug pour firefox ou l'inspecteur de chrome ou de safari...


---------------
D3

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [AJAX] problème d'etat...

 

Sujets relatifs
Problème de mise en page selon le navigateurProbleme de liaison à l'interface
Problème pour actualiser les valeurs d'une TrackbarProblème lors de la génération de la javadoc
problème de manipulation/réorganisation de fichiersProblème query PDO
Problème HttpHostConnectExceptionProblème: Un autre site à la place du mien !
[Input et BDD] problème complex...probleme mise a jour de ma base de données
Plus de sujets relatifs à : [AJAX] problème d'etat...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR