热搜词
发表于 2021-11-17 22:30:36 | 显示全部楼层 |阅读模式
我有一个用户名和密码下面的PHP脚本:在PHP中使用数组来比较用户名/密码

$Username = 'user1';
$Password = 'pass1';

/******************************************************************************/
if (isset($_POST['submitform'])){

    // Clean up the input values
    foreach($_POST as $key => $value) {
     $_POST[$key] = stripslashes($_POST[$key]);
     $_POST[$key] = htmlspecialchars(strip_tags($_POST[$key]));
    }
    $user = isset($_POST['user']) ? $_POST['user'] : '';
    $pass = isset($_POST['pass']) ? $_POST['pass'] : '';
    $report = $_POST['typereport'];

    if ($pass != $Password || $user != $Username) {
     showForm("Wrong Username/Password");
     exit();  
    }
} else {
    showForm();
    exit();
}

我想使脚本更强劲,这意味着我想有其他的用户名/密码,以便多个用户可以登录(想为跟踪目的)

那么,如何修改剧本,所以我可以使用$Username和$Password如下:

$Username=array("user1","user2","user3");
$Password=array("pass1","pass2","pass3");

因此,脚本将始终与正确的用户名和密码匹配,并允许我有多个用户?




你想在数组中定义用户名和密码,而不是在数据库中?
我会使用数据库。如果你必须硬编码,我会使用一个关联数组:

<?php
$logins = array(
    'username1' => 'password1',
    'username2' => 'password2',
    'username3' => 'password3',
);

$user = isset($_POST['user']) ? strtolower($_POST['user']) : '';
$pass = isset($_POST['pass']) ? $_POST['pass'] : '';

if (! isset($logins[$user]) or $logins[$user] != $pass)
{
    showForm("Wrong Username/Password");
    exit();
}

全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-11-24 19:06 , Processed in 0.151647 second(s), 22 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team