PHP使用用户名/密码登录

19 浏览
0 Comments

PHP使用用户名/密码登录

如何编辑下面的PHP代码以允许添加或多个用户名和密码。例如,User1使用密码JHFDE3,User2使用密码LKFW34,等等。根据我的阅读,一个关联数组可能是最好的选择。没有数据库,它被硬编码为简单地登录并能够查看一个php页面。

对于下面的特定代码,如何将其转换为关联数组?谢谢。


0
0 Comments

PHP Login with Username/Password问题的出现原因是需要实现一个简单的登录功能,用户输入用户名和密码后,通过验证来决定是否允许登录。解决方法是使用PHP编写一个登录验证的代码,根据用户输入的用户名和密码与预设的用户名和密码进行匹配,如果匹配成功,则设置登录状态为已登录,如果匹配失败,则执行登录失败的操作。

以下是解决方法的代码示例:

<?php
// 根据实际情况修改变量值
$user1='user1';
$user2='user2';
$pass1='pass1';
$pass2='pass2';
if ($_POST['submit']) {
    // 检查用户名和密码是否与预设值匹配
    if(($_POST['user']==$user1) && $_POST['pass'] == $pass1){
        $_SESSION['access'] = 1; 
        header("Location: " . $_SERVER['PHP_SELF']); 
    } else if(($_POST['user']==$user2) && $_POST['pass'] == $pass2){
        $_SESSION['access'] = 1; 
        header("Location: " . $_SERVER['PHP_SELF']); 
    } else {
        // 登录失败
        // 在这里执行登录失败的操作
    }
}
?>

以上代码通过比较用户输入的用户名和密码与预设的用户名和密码,如果匹配成功,则设置登录状态为已登录,并重定向到当前页面。如果匹配失败,则执行登录失败的操作。可以根据实际需求进行相应的修改和扩展。

0
0 Comments

PHP登录验证是一个常见的网站功能,它允许用户使用用户名和密码进行身份验证。本文将讨论一个使用用户名和密码进行PHP登录验证的问题,并提供解决方法。

在给出的代码示例中,首先初始化了一个包含用户名和密码的数组。然后,通过检查提交的登录表单中的用户名和密码是否与数组中的值匹配,来验证用户的身份。如果匹配成功,则创建一个会话,并输出欢迎消息。如果密码不正确,则重新加载登录表单。

然而,在代码示例中存在一个问题。当将$_POST['password']的值更改为'pass1'时,输出的结果是"welcome back username1",而不是预期的"Password incorrect, error, redirecting to login"。这是因为在代码中,密码验证部分使用了等于运算符(==),而不是恒等于运算符(===)。因此,密码'pass1'被视为与'pass3'相等。

要解决这个问题,可以将密码验证部分的代码更改为使用恒等于运算符(===)进行比较。这样,只有在用户名和密码都匹配时,才会创建会话并输出欢迎消息。如果密码不正确,则会输出"Password incorrect, error, redirecting to login"。

以下是修改后的代码示例:

session_start();
$_POST['user'] = 'username1';
$_POST['submit'] = true;
$_POST['password'] = 'pass3';
if (isset($_POST['submit'])) {
    $users = array('username1','username2','username3');
    $passwords = array('pass1','pass2','pass3');
    
    if (in_array($_POST['user'], $users)) {
        $key = array_search($_POST['user'], $users);
        
        if ($passwords[$key] === $_POST['password']) {
            $_SESSION['access'] = 1;
            echo "welcome back ".$_POST['user'];
        } else {
            echo "Password incorrect, error, redirecting to login";
        }
    }
} else {
    echo "Login form";
}

通过使用恒等于运算符(===),我们确保只有在用户名和密码都匹配时,才会输出欢迎消息。这样,问题就得到了解决。感谢您的阅读,如果您有任何疑问,请随时向我提问。

0