Passer une variable JS vers PHP

sff

WRInaute impliqué
Bonjour, j'ai crée un petit code qui ne fonctionne malheuresement pas. J'ai tout essayé mais je ne saisis pas le problème.

console.log(donneeClient); retourne parfaitement les données mais pas xhr.send(donneeClient).

Dans index.php se trouve un INSERT INTO qui fonctionne quand ce script est exécuté mais $_POST['donnees'] reste desesperement vide.


Code:
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var xhr = new XMLHttpRequest();

var donneeClient = "donnees="+entry.subject ;

xhr.open('POST', '/index.php');

xhr.onreadystatechange = function() {
    if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
        console.log('OK');
    }
};

xhr.send(donneeClient);

console.log(donneeClient);

Si quelqu'un a une solution je le remercie d'avance
 

sff

WRInaute impliqué
Voila ce qui se trouve dans index.php :

PHP:
$pdo->query("INSERT INTO test (title, price, description) VALUES ('".$_POST['donnees']."', '10000', 'description')");

lorsque le petit script JS que j'ai posté ci dessous est en action, index.php est bien appelé est le INSERT INTO fonctionne correctement SAUF que $_POST['donnees'] reste toujours vide !

Pourtant il n'est pas NULL car dans le script JS
console.log(donneeClient); retourne bien les données c'est ca qui est incompréhensible.
 

sff

WRInaute impliqué
Finalement j'ai réglé le problème. Une petite erreur de code JS. Voila la solution :

Code:
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var xhr = new XMLHttpRequest();

var donneeClient = "donnees="+entry.subject ;


xhr.open('POST', '/index.php', true);

xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

xhr.onreadystatechange = function() {//Call a function when the state changes.
    if(this.readyState == XMLHttpRequest.DONE && this.status == 200) {
        console.log('OK');
    }
}

xhr.send(donneeClient);

console.log(donneeClient);

Merci tout de meme
 

spout

WRInaute accro
Attention à la faille d'injection SQL, je vois que tu utilises PDO alors pourquoi faire l'impasse sur les requêtes préparées.
 

sff

WRInaute impliqué
En effet ! Par contre je me retrouve avec un autre problème que je n'arrive pas à résoudre.

Voici le code en question :

Code:
search.run().then(function (data) {
 
    console.log(data.results);
    
    var XMLHttpRequest = require("../node_modules/leboncoin-api/node_modules/xmlhttprequest").XMLHttpRequest;
var xhr = new XMLHttpRequest();

var title = "title=test" ;
var description = "description="+data.results ;

xhr.open('POST', '/index.php', true);

xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

xhr.onreadystatechange = function() {//Call a function when the state changes.
    if(this.readyState == XMLHttpRequest.DONE && this.status == 200) {
        console.log('OK');
    }
}

xhr.send(title+"&"+description);

    

    
}

la variable description devient [object Object],[object Object],[object Object],[object Object]..
lorsque je l'envoi et l'enregistre dans dans mysql via ma requete. un console.log affiche pourtant les données correctement.

As tu une solution pour envoyer correctement les données dans mysql ?
 

Discussions similaires

Haut