1

我正在尝试使用 Phonegap 创建用户登录应用程序。这是我的代码

function successCB(tx) {
    var setName = $("#name").val();
    var setID = $("#ID").val();

    //alert('select * from USER where name='+setID+' and password='+setName+'');
    tx.executeSql('select * from USER where name='+setID+' and password='+setName+'', [], querySuccess, errorCB);
}

当我取消注释警报时,它会显示从文本字段输入的数据,但是我不知道下一步该做什么,

我想检查来自数据库的输入,如果用户 ID 和密码正确,则流程应该转到另一个页面,例如正确的登录页面。

什么是适当的方法来做到这一点

function querySuccess(tx, results)
4

1 回答 1

0

您需要验证是否选择了某些行。如果输入的用户名和密码正确,则 sql 语句将返回该用户的一行。

您可以创建一个名为 DB 的全局变量,用于存储连接。然后你应该做这样的事情。

var db = "";

db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);


// collect your values as you already do.. i just showed em for demontration purpose..
var setName = $("#name").val();
var setID = $("#ID").val();


// execute this code from a function of your choice.
db.transaction(function(con) {
    con.executeSql('select * from USER where name='+setID+' and password='+setName+'', [], function (tx, results) {

       var len = results.rows.length;
       if (len==1) {alert("you logged in with some user");}

    }); 
});

或与您发布的内容。

function querySuccess(tx, results) {
           var len = results.rows.length;
           if (len==1) {alert("you logged in with some user");}
}

因此,在这一切之后,您需要做的是确保您可以检测到您是否已登录。如果您每次更改页面或您的应用程序包含的内容时都必须登录,那么它没有多大用处。您可以使用本地存储来检测它。

您还可以创建一个全局变量来保存登录或不登录的值。

:-)

我希望我的代码对你有所帮助。

于 2013-10-21T11:39:18.817 回答