Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过循环psql表验证用户日志电子邮件和密码_Javascript_Html_Postgresql_Knex.js - Fatal编程技术网

Javascript 通过循环psql表验证用户日志电子邮件和密码

Javascript 通过循环psql表验证用户日志电子邮件和密码,javascript,html,postgresql,knex.js,Javascript,Html,Postgresql,Knex.js,我正在学习编码,并试图使用Express在node中构建一个to-do web应用程序(我认为这是正确的措辞) 我在postgresql中有一个存储用户id、电子邮件和密码的表(“用户”) 当用户登录到网站时,我希望在表格中循环,确保电子邮件存在并且与密码匹配,然后用户可以登录,当他们登录时,会分配他们的唯一用户id,并显示他们以前的待办事项列表。。如果可能的话,我也希望合并knex 我不知道该怎么做,如果有任何提示/指向正确的方向,我将不胜感激 谢谢先试试基本的东西 SELECT user

我正在学习编码,并试图使用Express在node中构建一个to-do web应用程序(我认为这是正确的措辞)

我在postgresql中有一个存储用户id、电子邮件和密码的表(“用户”)

当用户登录到网站时,我希望在表格中循环,确保电子邮件存在并且与密码匹配,然后用户可以登录,当他们登录时,会分配他们的唯一用户id,并显示他们以前的待办事项列表。。如果可能的话,我也希望合并knex

我不知道该怎么做,如果有任何提示/指向正确的方向,我将不胜感激


谢谢

先试试基本的东西

SELECT
  user_id
  FROM users
  WHERE
   email = _your_user_email
   AND password = _your_user_password;

如果返回的结果包含user_id或任何您想要返回的内容,则该用户存在。您可以通过检查电子邮件进一步扩展此功能,并让用户知道电子邮件存在,但密码不正确,等等。请先尝试简单的方法,看看这是否满足您的需要。

首先,我建议您将
用户的
id
字段命名为
id
。 最佳做法是将
id
字段命名为
id
,将引用列命名为
\u id
(例如,表
衣服.id
iter的唯一标识符和
衣服.user_id
–表
用户的外键

其次,强烈建议不要将密码作为原始数据存储在数据库中(出于安全原因)。 将用户密码作为散列数据保存是一种常见做法。 例如,看看包

要选择用户(在数据库中没有“循环”这样的东西,它被称为“查询”),您需要 创建一个查询,如

select
    id,
    email,
    <any_other_field_you_need>
from
    users
where
    email = 'your@email.com'
    and password = 'your password hash'
您可以从express获得的查询参数(电子邮件、密码)。 确保您正在使用POST HTTP方法发送请求并将数据作为主体传递

如果您不知道
express
,这是一个。 它有助于创建web服务。他们的手机上有一个hello world
官方网站。请随意查看。或者只是简单的谷歌“初级速成教程”,网上有很多关于它的很棒的教程。它非常流行。

这是一个简单的SELECT查询,您尝试过什么,面临什么问题?
knex('users')
    .select(['id', 'email', '<any_other_field_you_need>'])
    .where('email', 'your@email.com')
    .where('password', 'your password hash')