起初,抱歉我的英语不好,但我希望你能理解我的要求。

我正在研究Phonegap应用。用户可以通过付款提供商购买VIP状态。我想使用本地存储和mysql,但由于缺少我的知识而无法解决问题。我在Google上搜索了很多,但是因为所有内容都是英文,所以我很难学习。

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

这些to Variables应该被发送到mysql表,让我们称其为“ user”。

示例:用户表

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


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

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

您有任何想法我该怎么做吗?我读了一些有关Ajax Calls的内容,但我不太了解。如果有人有一些代码片段,我将非常感谢。我不需要完整的代码,我只需要阅读并尝试理解即可。

谢谢!

最佳答案

我不确定您的看法如何,但是您可以按照以下步骤进行操作。


在应用程序启动时正确加载Cordova。射击onDeviceReady
计算您的用户名(任意组合)并将其保存在localStorage
通过ajax调用将用户名和vip状态发送到您的php服务器
根据您的服务器响应,显示用户iframe,即vip.html或novip.html


步骤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:将数据存储在本地存储中。有两种使用本地存储的方法。本机科尔多瓦的做法。

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

关于php - 将变量保存到Localstorage,然后发送到Mysql DB,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31031457/

10-09 15:30