我正在制作一个三页的谷歌网络应用程序。第一页是登录,第二页是用户注册,第三页是应用程序。我正在google工作表中注册数据。现在我希望从第一页登录,其中脚本根据谷歌表的存储值检查用户ID和密码,但不知道如何实现它。
在Registration.html中,我收集用户ID和密码并将其存储在googlesheet中。我能够毫无问题地做到这一点
对于Login.html,我想编写一个脚本,该脚本应检查用户输入的用户ID和密码,以确定在工作表中为该用户ID存储的值。例如,如果存储在Google工作表中的用户ID为&# 39克用户;密码是' 123456'然后在登录时如果用户正确输入这些详细信息,那么他将被重定向到application.html,如果他输入错误,那么将向他显示一条消息"输入的用户名/密码是错误的他/她可以重试"
我想可以通过以下方式完成,
编写一个函数,比如Code.gs中的PwdCheck(),例如,
function PwdCheck(form){
/* collect form values entered in client login.html */
var ss = SpreadsheetApp.openById('Sheetid');
var sheet = ss.getSheetByName('SheetName');
var UsrId = form.UsrId;
var Pwd = form.Pwd;
var rr= sheet.getRange(2,3,100,2).getValues();
/* if clause has only one value from range specified by var rr, for example */
if(UsrId == rr[0][0] && Pwd ==rr[0][1]){
return Al();
} else {
return Msg();
}
}
function Msg(){
/* Code that present client(login.html) a message that password/userid are incorrect. retry again. This message can be presented in a <p> tage in login.html */
return x;
}
function Al(){
/* Code which redirects the login.html to application.html since password entered in login page are correct */
}
答案 0 :(得分:0)
您需要循环直到在存储的电子表格中找到输入的用户名,然后随身携带密码。最后比较客户端和服务器密码。
function PwdCheck(form){
/* collect form values entered in client login.html */
var ss = SpreadsheetApp.openById('Sheetid');
var sheet = ss.getSheetByName('SheetName');
var UsrId = form.UsrId;
var Pwd = form.Pwd;
var storedPassword;
var rr= sheet.getRange(2,3,100,2).getValues();
//rr is an array you need to loop through the rows and find your user name,
//then pic the stored password for it
for(var row in rr){
if(UsrId == rr[row][0])
{
storedPassword = rr[row][1];
break;
}
}
// now check stord and entered password
if( Pwd == storedPassword){
return Al();
} else {
return Msg();
}
}