使mySQL/PHP页面成为登录用户的专属页面

使mySQL/PHP页面成为登录用户的专属页面,php,mysql,authentication,Php,Mysql,Authentication,我需要使quick.php成为登录用户的专用工具。这段代码在我登录的前三次都有效。但是,当我刷新quick.php时,它将我注销,不允许我重新登录,尽管我使用的凭据与以前登录的凭据完全相同(即在名为“indocTest”的SQL数据库中定义的凭据) 在处理凭证时,登录页面被设置为回显“有效/无效用户名”和“有效/无效密码”,因此它应该以任意方式回显页面上的文本。相反,它只在我输入无效凭据时回显错误消息。当我输入有效凭据时,页面将重新加载自身,而不执行任何操作。它根本不允许我访问quick.php

我需要使quick.php成为登录用户的专用工具。这段代码在我登录的前三次都有效。但是,当我刷新quick.php时,它将我注销,不允许我重新登录,尽管我使用的凭据与以前登录的凭据完全相同(即在名为“indocTest”的SQL数据库中定义的凭据)

在处理凭证时,登录页面被设置为回显“有效/无效用户名”和“有效/无效密码”,因此它应该以任意方式回显页面上的文本。相反,它只在我输入无效凭据时回显错误消息。当我输入有效凭据时,页面将重新加载自身,而不执行任何操作。它根本不允许我访问quick.php页面

我尝试过各种关闭和再次打开的方法——从清除浏览器缓存到关闭浏览器再到重新启动笔记本电脑——但代码不起作用。我该如何解决这个问题

这是用户凭据数据库的外观:

下面是我的代码:


警告:当使用
mysqli
时,您应该使用和向查询中添加任何数据。不要使用字符串插值或串联来完成此操作,因为您已经创建了严重的错误。切勿将
$\u POST
$\u GET
或任何类型的数据直接放入查询中,如果有人试图利用您的错误进行攻击,这可能非常有害。警告:编写自己的访问控制层并不容易,而且有很多机会使其严重出错。请不要编写您自己的身份验证系统,因为任何现代的同类产品都具有强大的内置功能。在绝对最少跟随和从不存储密码作为纯文本或弱散列像Sh1或MD5。考虑使用<代码> VARCHAR(255)< /C>作为默认的通用字符串类型字段,并且仅用更长或更短的约束来重写这一点,如果你有一个令人信服的理由。许多MySQL安装会悄悄地截断任何不合适的数据,导致数据丢失、用户投诉和其他严重问题。姓名和电子邮件地址经常出人意料地长,所以适应它们很重要。这是一个学校项目,除了“使用$\u POST而不是$\u GET”之外,我们还没有学到很多web数据安全方面的东西。这些安全问题是登录PHP不起作用的原因吗?如果不是,请用我的login.php功能来解释这个问题。这部分是一个安全问题,即使对于学术项目,也不要低估它的重要性。你必须学会正确地去做,从一开始就养成好习惯。第二,占位符值使得意外地把事情搞砸变得越来越难,从而节省了时间和麻烦。