sql >> Databasteknik >  >> RDS >> Mysql

Hur kan jag skicka sparad localStorage-webbdata till ett php-skript?

Vad sägs om:

oReq.open("get", "snap.php?lat=" + localStorage.latitude + "&lon=?" + localStorage.longitude, true);

(du hade också localStorage.lon istället för .longitude )

Eftersom värdena (strängarna) finns i variabler måste du sammanfoga dem, inte lägga dem i strängen.

Dessutom, eftersom du verkar skicka dessa saker till din PHP för att spara till databasen, semantiskt sett, bör du använda en POST-förfrågan...som hanteras annorlunda med AJAX-förfrågningar.

I din PHP måste du använda:

$latitude = $_GET["lat"];
$longitude = $_GET["lon"];

för att faktiskt få de värden som skickades med GET-förfrågan. Även om dessa värden bör escapes för att undvika SQL-injektion.

Dessutom är jag inte säker på varför du ställer in onload AJAX-förfrågans egendom. Använd istället onreadystatechange egendom...något i stil med:

oReq.onreadystatechange = function () {
    if (oReq.readyState === 4) {
        if (oReq.status > 199 && oReq.status < 400) {
            console.log("successful response");
        } else {
            console.log("failed response: " + oReq.status);
        }
    }
};

.readyState egenskap hänvisar till dess tillstånd, där 4 betyder att det är klart (svaret har kommit tillbaka). .status egenskapen refererar till HTTP-statuskoden. Normalt mellan 200 &400 är bra. Jag vet att jag bara har sett människor kontrollera efter 200 (inte ett intervall).

UPPDATERING:

För att skicka POST-parametrar i begäran lägger du inte till dem i webbadressen - du skickar dem i .send() metod. Här är ett exempel med din kod:

oReq.open("POST", "snap.php", true);
oReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
oReq.send("lat=" + encodeURIComponent(localStorage.latitude) + "&lon=" + encodeURIComponent(localStorage.longitude));

Och för att hämta dem i PHP, skulle du använda:

$latitude = $_POST["lat"];
$longitude = $_POST["lon"];


  1. MySQL-frågor

  2. SLIPP TABELL OM FINNS i MySQL

  3. MySQL Lägg till unik begränsning

  4. Spåra automatiska uppdateringar av statistik