使用PHP编写登录功能

2023-01-13 0 1,182

在中文网站合作开发中,登入机能是两个常用的市场需求。责任编辑将如是说怎样采用PHP撰写两个登入机能。

具体来说,他们须要相连到资料库。这儿他们采用PHP的mysqli程序库相连资料库。在相连以后,须要提供更多资料库的Teredo、帐号、公钥和资料库名,接着采用mysqli_connect表达式来相连资料库。

$db_host = localhost; $db_user = username; $db_pass = password; $db_name = database; $conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name); if(!$conn){die(资料库相连失利:‘ . mysqli_connect_error()); }

为的是避免SQL转化成反击,他们采用mysqli_real_escape_string表达式来customcustom。

if ($_SERVER[REQUEST_METHOD] == POST) { $username = mysqli_real_escape_string($conn, $_POST[username]); $password = mysqli_real_escape_string($conn, $_POST[password]); … }

接下去,他们继续执行两条SELECT查阅,查阅资料库中与否存有与配置文件中递交的帐号和公钥相匹配的历史记录。假如查阅结论两条历史记录,就表明登入获得成功,他们就迈入程序代码并将$_SESSION[logged_in]标为true,接着链接到另两个网页(比如welcome.php)。假如查阅结论中没历史记录,就表明帐号和公钥严重错误,他们就增设两个严重错误最新消息并表明给使用者。

// 查阅帐号和公钥与否相匹配 $query = “SELECT * FROM users WHERE username=$username AND password=$password”; $result = mysqli_query($conn, $query); if (mysqli_num_rows($result) == 1) { // 登入获得成功session_start(); $_SESSION[logged_in] = true; header(Location: welcome.php); } else { // 登入失利$error_message =帐号或公钥严重错误; }

最后,他们可以在须要保护的网页的开头添加以下代码,以保证在没登入的情况下无法访问该网页。

<?php session_start(); if (!isset($_SESSION[logged_in]) || !$_SESSION[logged_in]) { header(Location: login.php); exit; }

这样,当使用者登入获得成功时,程序代码变量$_SESSION[logged_in]就会被增设为true,而在没登入的情况下,使用者就会被链接到登入网页。

注意:这仅是两个简单的登入机能示例,在生产环境中应该采用更复杂的公钥哈希表达式来存储公钥,并采用其他安全措施来保护中文网站。

下面是完整的登入机能的示例代码:

<?php // 相连资料库 $db_host = localhost; $db_user = username; $db_pass = password; $db_name = database; $conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name);if (!$conn) { die(资料库相连失利: . mysqli_connect_error()); } // 处理登入配置文件递交 if($_SERVER[REQUEST_METHOD] == POST) { $username = mysqli_real_escape_string($conn, $_POST[username]); $password = mysqli_real_escape_string($conn, $_POST[password]); // 查阅帐号和公钥与否相匹配 $query = “SELECT * FROM users WHERE username=$username AND password=$password”; $result = mysqli_query($conn, $query);if (mysqli_num_rows($result) == 1) { // 登入获得成功 session_start(); $_SESSION[logged_in] = true; header(Location:welcome.php); }else{ //登入失利 $error_message = 帐号或公钥严重错误’; } } //关闭资料库相连 mysqli_close($conn);

在须要保护的网页,他们可以采用以下代码来检查使用者与否已经登入:

<?php session_start(); if (!isset($_SESSION[logged_in]) || !$_SESSION[logged_in]) { header(Location: login.php); exit; }

假如使用者尚未登入,就会链接到登入网页。这样就可以保证在没登入的情况下无法访问该网页。

总结:

在PHP中实现登入机能的基本步骤包括:

相连资料库处理登入配置文件递交查阅资料库中与否存有与配置文件中递交的帐号和公钥相匹配的历史记录迈入程序代码并增设程序代码变量链接到另两个网页

在须要保护的网页中,他们可以检查程序代码变量来确定使用者与否已经登入,假如尚未登入,就链接到登入网页。这样就可以保证在没登入的情况下无法访问该网页。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务