Php 无法转换为小写-不工作

Php 无法转换为小写-不工作,php,login,lowercase,Php,Login,Lowercase,我在我的页面上有下面的代码,但我想登录,即使用户名和密码是用小写字母输入的,我已经在线查看了,答案似乎表明strtolower可以工作,但它不适合我,有人可以看一下吗 谢谢你的帮助 <?php $error = ""; if(isset($_POST['username'],$_POST['password'])){ $user = array( "user" => "Demo",

我在我的页面上有下面的代码,但我想登录,即使用户名和密码是用小写字母输入的,我已经在线查看了,答案似乎表明strtolower可以工作,但它不适合我,有人可以看一下吗

谢谢你的帮助

<?php
    $error = "";
    if(isset($_POST['username'],$_POST['password'])){
        $user = array(
                        "user" => "Demo",
                        "pass"=>"Demo"          
                );
        $username = strtolower($_POST['username']);
        $pass = strtolower($_POST['password']);
        if($username == $user['user'] && $pass == $user['pass']){
            session_start();
            $_SESSION['simple_login'] = $username;
            echo '{"error":0}';
        }else{
            echo '{"error":1}';
        }
        exit();
    }
?>

虽然这是一种方法,但您可能不应该这样做,这并不安全。为什么用户名/密码不区分大小写

<?php
    $error = "";
    if(isset($_POST['username'],$_POST['password'])){
        $user = array(
                        "user" => strtolower("Demo"),
                        "pass"=> strtolower("Demo")          
                );
        $username = strtolower($_POST['username']);
        $pass = strtolower($_POST['password']);
        if($username == $user['user'] && $pass == $user['pass']){
            session_start();
            $_SESSION['simple_login'] = $username;
            echo '{"error":0}';
        }else{
            echo '{"error":1}';
        }
        exit();
    }
?>


我对PHP了解不多,但您似乎在比较一个全小写字符串和一个包含大写字母的字符串
“Demo”
。也许这就是比较大小写没有通过的原因。您将变量转换为小写,但匹配的数组包含大写。很明显,两者都需要转换才能匹配。你说的“不起作用”是什么意思?错误是什么,是语义错误吗?运行不区分大小写的代码生成密码时发生的情况严重损害了安全性。切勿存储纯文本密码!请使用PHP来处理密码安全性。如果您使用的PHP版本低于5.5,则可以使用
密码\u hash()
。在散列之前,不需要对它们执行任何操作或使用任何其他清理机制。这样做会更改密码并导致不必要的额外编码。@TazConway哇,那么你真的不关心安全了。很高兴我不是你们系统的用户;我发现最后两条评论相当有辱人格。@Fred ii-也许吧。公平地说,我们的起点都差不多。我真的不是想贬低这个家伙,我在学校时写的代码同样糟糕。抱歉,这正是他的代码让我想起的…@邪恶的程序员,这就像“边界线”贬低了TBH。最好按照他们问题下的评论说明。相当肯定他们得到了信息;至少我希望他们做到了!哈哈-我只是不想让OP给人留下坏印象:-)@ADyson“但是OP似乎没有听取或回应任何评论,只是不顾所有警告继续使用解决方案”-我们只能像你们一样让他们知道:-)还记得“ol”的说法吗?“我不是我兄弟的守护者”——)如果他们选择不听警告,那么这不是你/我们的问题,所有人都试图通知/建议。他们是否应该回到Stack并发布:“我的网站被黑客攻击了”,嗯。。。我想你知道我要去哪里;-)