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:
    531
    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:
    9 004
    J'aime reçus:
    284
  3. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    531
    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:
    531
    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:
    9 004
    J'aime reçus:
    284
    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:
    531
    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:
    9 004
    J'aime reçus:
    284
    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
WordPress Passer d'une bonne position à une très bonne position Débuter en référencement 18 Juin 2020
Améliorer la vitesse sous Wordpress : passer toutes les pages en article Administration d'un site Web 3 Avril 2020
Passer d'un hébergement mutualisé à serveur dédié Administration d'un site Web 24 Mars 2020
Google Ads : Comment passer le guide de configuration ? AdWords 29 Décembre 2019
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
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice