Mysql
 sql >> база данни >  >> RDS >> Mysql

Как мога да предам запазени уеб данни на localStorage към php скрипт?

Какво ще кажете за:

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

(имахте и localStorage.lon вместо .longitude )

Тъй като стойностите (низовете) са в променливи, трябва да ги конкатенирате, а не да ги поставяте в низа.

Освен това, тъй като изглежда, че предавате тези неща на вашия PHP, за да ги запишете в базата данни, семантично казано, трябва да използвате POST заявка...която се обработва по различен начин с AJAX заявките.

Във вашия PHP трябва да използвате:

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

за да получите действително стойностите, които са били изпратени със заявката GET. Въпреки че тези стойности трябва да бъдат екранирани, за да се избегне SQL инжекция.

Освен това не съм сигурен защо задавате onload свойство на AJAX заявката. Вместо това използвайте onreadystatechange свойство...нещо като:

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 свойството се отнася до неговото състояние, където 4 означава, че е готово (отговорът се върна). .status свойството се отнася до HTTP кода на състоянието. Обикновено между 200 &400 добро е. Знам, че съм виждал само хора проверете за 200 (не е диапазон).

АКТУАЛИЗИРАНЕ:

За да предадете POST параметри в заявката, не ги добавяте към URL адреса - ги предавате в .send() метод. Ето пример с вашия код:

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));

И за да ги извлечете в PHP, ще използвате:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да запазите подписа в MySQL

  2. Откриване на емотикони в низ

  3. Нечувствителна заявка за търсене в MySQL

  4. Имена на динамични таблици във функцията за съхранена процедура

  5. Съхраняване на изображение в базата данни директно или като base64 данни?