Javascript 需要检查登录用户名和密码,然后从以前的条目中获取数据

Javascript 需要检查登录用户名和密码,然后从以前的条目中获取数据,javascript,html,google-apps-script,google-sheets,Javascript,Html,Google Apps Script,Google Sheets,下面是我之前问过的问题() 我创建了一个web应用程序来跟踪我公司员工的工作时间,这个web应用程序很简单,它首先要求他们提供用户名和密码,然后允许他们注册进入时间和离开时间。现在,我需要找到一种方法来检查用户名和密码之间是否匹配(在数据库中),如果这是真的,则将该员工上次提交到web应用程序的信息带到web应用程序中,最后提交的数据可以在从web应用程序接收数据的另一张工作表中找到 这里是一个最小的可复制示例,其中its只要求输入名称和密码,如果正确,则显示另一个显示,其中显示该用户上次提交到

下面是我之前问过的问题()

我创建了一个web应用程序来跟踪我公司员工的工作时间,这个web应用程序很简单,它首先要求他们提供用户名和密码,然后允许他们注册进入时间和离开时间。现在,我需要找到一种方法来检查用户名和密码之间是否匹配(在数据库中),如果这是真的,则将该员工上次提交到web应用程序的信息带到web应用程序中,最后提交的数据可以在从web应用程序接收数据的另一张工作表中找到

这里是一个最小的可复制示例,其中its只要求输入名称和密码,如果正确,则显示另一个显示,其中显示该用户上次提交到web应用程序的时间戳

var name=”“;
函数doGet(e){
返回HtmlService.createhtmloutpfromfile('Form');
}
函数AddRecord(名称){
//获取电子表格详细信息
var url='1〕https://docs.google.com/spreadsheets/d/1CJoPuq3sHE5L31GwlvS4Zygm1sL3M0HGC7MgW3rCq3g/edit#gid=0';
//粘贴谷歌表单的URL
var ss1=SpreadsheetApp.openByUrl(url);
var webAppSheet1=ss1.getActiveSheet();
const Lrow=webAppSheet1.getLastRow();
常量数据=[名称,新日期()];
webAppSheet1.getRange(Lrow+1,1,1,data.length).设置值([data])
}
功能检查登录(名称、密码){
var url='1〕https://docs.google.com/spreadsheets/d/1CJoPuq3sHE5L31GwlvS4Zygm1sL3M0HGC7MgW3rCq3g/edit#gid=0“;//粘贴GOOGLE工作表的URL
var ss2=SpreadsheetApp.openByUrl(url);
var webAppSheet2=ss2.getSheetByName(“数据库”);
var checkuser=webAppSheet2.getRange(2,1,webAppSheet2.getLastRow(),1).createTextFinder(名称).matchEntireCell(true).findNext();
var obj={checkuser:checkuser?'TRUE':'FALSE'};
var sheet=ss2.getSheetByName(“接收数据”);
var ranges=sheet.getRange(2,1,sheet.getLastRow(),1).createTextFinder(名称).matchEntireCell(true).findAll();
如果(ranges.length>0){
obj.lastTimestamp=ranges.pop().offset(0,1,1,1).getDisplayValue();
返回obj;
}
返回obj;
}

#拉斯特{
显示:内联块;
}
函数AddRow()
{
var Name=document.getElementById(“Name”).value;
google.script.run.AddRecord(名称);
document.getElementById(“名称”).value='';
}    
函数LoginUser(){
var Name=document.getElementById(“Name”).value;
var Password=document.getElementById(“密码”).value;
google.script.run.withSuccessHandler(函数({checkuser,lastTimestamp}){
如果(checkuser='TRUE'){
document.getElementById(“loginDisplay”).style.display=“无”;
document.getElementById(“数据显示”).style.display=“块”;
document.getElementById(“lastTimestamp”).innerHTML=lastTimestamp;
}else if(checkuser==“FALSE”){
document.getElementById(“errorMessage”).innerHTML=“未找到名称”;
}
}).检查登录名(姓名、密码);
}
名称
密码
上次注册

发送
我相信你的目标如下

  • 您希望从电子表格中的
    数据库
    工作表中搜索
    名称
    密码
    的输入值
  • 您希望通过搜索
    数据库
    工作表中的输入值来显示从
    接收数据
    工作表中检索到的最后一个时间戳
在本例中,我建议修改
var obj={checkuser:checkuser?'TRUE':'FALSE'}检查登录
以实现以下目标

发件人: 致:
  • 在此修改中,从第一列搜索输入的
    名称
    值,然后从第二列与搜索的第一列的同一行检查
    密码
    。并且,当两个值相同时,将返回
    TRUE
参考:

    • 我相信你的目标如下

      • 您希望从电子表格中的
        数据库
        工作表中搜索
        名称
        密码
        的输入值
      • 您希望通过搜索
        数据库
        工作表中的输入值来显示从
        接收数据
        工作表中检索到的最后一个时间戳
      在本例中,我建议修改
      var obj={checkuser:checkuser?'TRUE':'FALSE'}检查登录
      以实现以下目标

      发件人: 致:
      • 在此修改中,从第一列搜索输入的
        名称
        值,然后从第二列与搜索的第一列的同一行检查
        密码
        。并且,当两个值相同时,将返回
        TRUE
      参考:

      这样做的真正问题是从一个get到下一个get维护登录身份验证的状态。在基于asp和php等技术构建的网站中,它们使用cookies来维护会话状态,您可以这样做,但大多数人不这样做,因此很难保证在最后一次登录时登录的人就是同一个人。在这种情况下,让你的所有员工都在同一个域名上,或者甚至使用谷歌登录,可能会更好。如果你不关心你的员工的隐私,如果你试图强迫我在工作中使用这样一个系统,所有这些对你来说可能都不是必要的。我可能会起诉你,而且很可能不会使用它。在这种情况下,应用程序脚本可能既便宜又易于使用。然而,这可能并不明智。这样做的真正问题是从一个get到下一个get保持登录身份验证的状态。在基于asp和php等技术构建的网站中,它们使用cookies来维护会话状态,您可以
      var obj = {checkuser: checkuser ? 'TRUE' : 'FALSE'};
      
      var obj = {checkuser: checkuser && checkuser.offset(0, 1).getValue() == Password ? 'TRUE' : 'FALSE'};