Passer une variable JS vers PHP

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par sff, 25 Septembre 2018.

  1. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    525
    J'aime reçus:
    0
    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
     
  2. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 840
    J'aime reçus:
    248
  3. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    525
    J'aime reçus:
    0
    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.
     
  4. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    525
    J'aime reçus:
    0
    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
     
  5. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 840
    J'aime reçus:
    248
    Attention à la faille d'injection SQL, je vois que tu utilises PDO alors pourquoi faire l'impasse sur les requêtes préparées.
     
  6. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    525
    J'aime reçus:
    0
    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 ?
     
  7. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 840
    J'aime reçus:
    248
    Utilise console.log() pour voir si tu envoies bien ce que tu veux.
     
Chargement...
Similar Threads - Passer variable PHP Forum Date
Comment passer des variables PHP dans un header PHP ? Développement d'un site Web ou d'une appli mobile 26 Juillet 2010
Passer une variable en dossier URL Rewriting et .htaccess 19 Novembre 2018
Sur quels critères se baser pour passer à un serveur dédié ? Administration d'un site Web 2 Juillet 2019
Passer des 404 spammées en 410 avec htaccess URL Rewriting et .htaccess 18 Juin 2019
Passer mon htaccess de http à https ? URL Rewriting et .htaccess 27 Janvier 2019
Passer mon site en https, galère en vue Développement d'un site Web ou d'une appli mobile 26 Janvier 2019
Conserver des 301 ou les passer en 410 ? Crawl et indexation Google, sitemaps 4 Janvier 2019
Passer en http/2 : avantages, dangers Débuter en référencement 19 Octobre 2018
AMP : quand et pourquoi passer en AMP Débuter en référencement 24 Juillet 2018
Est-il obligatoire de passer toutes les pages d'un site en https ? Débuter en référencement 1 Juin 2018
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice