Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मैं सहेजे गए स्थानीय स्टोरेज वेब डेटा को 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. mysqldump:निष्पादित नहीं किया जा सका। info_schema में अज्ञात तालिका 'column_statistics'

  2. सामान्य त्रुटि का समाधान कैसे करें:2014 क्वेरी निष्पादित नहीं कर सकता, जबकि अन्य असंबद्ध क्वेरी सक्रिय हैं। पीडीओ कनेक्शन का उपयोग करना

  3. PHP ऐप की सेटिंग्स को स्टोर करने का सबसे अच्छा तरीका?

  4. पंक्तियों की संख्या गिनें जो एक दूसरे के 10 सेकंड के भीतर नहीं हैं

  5. DROP डेटाबेस अनुमतियों के बिना कमांड-लाइन से सभी MySQL तालिकाओं को कैसे निकालें?