将变量保存到Localstorage,然后发送到Mysql DB

时间:2015-06-24 16:02:10

标签: php mysql cordova variables local-storage

首先抱歉我的英语不好但我希望你能理解我的要求。

我在使用Phonegap应用程序。用户可以通过支付提供商购买VIP状态。我想使用本地存储和mysql但由于缺少我的知识而陷入困境。我搜索了很多,但由于一切都在英语上,我学习的东西真的很难。

我想要的是,在下载后第一个应用程序在手机上启动时,应用程序会生成随机唯一的用户名或数值,并将其作为变量保存在本地存储中。此外,它应该将一个名为“vip”的变量保存到本地存储并将其设置为0.并且需要检查变量是否已经设置,然后应用程序无需执行任何操作。

这些变量应该发送到mysql表,我们称之为“用户”。

示例:用户表

+---------+-------------+
| username| vip         | 
+---------+-------------+
 A7w893579       0

因此变量保存在本地存储和mysql数据库中。 用户通过支付提供商付款后,变量“vip”需要设置为1并将其提取到正确的用户名并将1保存到用户表上用户的VIP行中。

我需要以任何方式执行以下功能:如果vip状态为1,则在网站上的iframe vip.html中显示。如果它的0在网站上显示novip.html。

你有什么想法我能做到吗?我读了一些关于Ajax Calls的内容,但我不理解它。如果有人有几个代码片段,我会非常感谢。我不需要完整的代码,我只需要阅读它并尝试理解。

谢谢!

1 个答案:

答案 0 :(得分:0)

我不确定您的观点是怎样的,但您可以按照这些步骤做您想做的事。

  1. 应用程序启动时正确加载Cordova。火onDeviceReady
  2. 计算您的用户名,任意随机组合并将其保存在localStorage
  3. 通过ajax调用发送用户名和vip状态到您的php服务器
  4. 取决于您的服务器响应显示用户iframe,即vip.html或novip.html
  5. 第1步: 借助以下代码加载cordova所需的所有功能。

    // this call and loads all cordova function which are required. 
    //Device ready is fired when it is loaded successfully.    
        document.addEventListener("deviceready", onDeviceReady, true); 
                    // Handle what your application wants to do first
                    // Save username and vip status, call ajax using to php server
                    function onDeviceReady() {
                        var username="calculate username";
                        var vipStatus=0; //or 1
                        }
    

    第2步:将数据存储在localstorage中。有两种方法可以使用localstorage。本土科尔多瓦的做法。

    // set value
    window.localStorage.setItem("key", "value");
    // get value back
    var value = window.localStorage.getItem("key");
    

    但我更喜欢直接存储在localStorage中我不使用键值对。它易于存储和访问。

    //store in localStorage
    localStorage.vipStatus=0; // or 1
    // to get back the value
    var Status=localStorage.vipStatus;
    

    第3步:对您的php服务器进行ajax调用。请参阅Jquery Ajax here示例代码在

    下面
    $.ajax({
         type: "POST",
         url: "http://localhost:3001/",
         dataType: 'json',
         data: JsonData,
         async: false,
         crossDomain: true,
         success: function(data) {
             alert('success');
         },
         error: function(response, text, err) {
             alert(err);
         }
     });
    

    第4步:按照vip状态显示正确的页面

    我认为您需要在开始时实施所有内容,因此您应该在onDeviceReady中实施它们,如下所示

    document.addEventListener("deviceready", onDeviceReady, true);
    // Handle what your application wants to do first
    // Save username and vip status, call ajax using to php server
    function onDeviceReady() {
        // calculate username
        var username = "calculate username";
        // set status
        var vipStatus = 0; //or 1.
        // store in localstorage
        localStorage.vipStatus = vipStatus;
        // set up json i.e send username and vipstatus to server 
        // make ajax call
        $.ajax({
            type: "POST",
            url: "http://localhost:3001/",
            dataType: 'json',
            data: JsonData,
            async: false,
            crossDomain: true,
            success: function(data) {
                alert('success');
                if (status == 0) {
                    // its 0 so show novip.html
                    window.location.href = "novip.html";
                } else {
                    //its 1 so show vip.html
                    window.location.href = "vip.html";
                }
            },
            error: function(response, text, err) {
                alert(err);
            }
        });
    }