Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Joomla 3中检查用户密码?_Php_Joomla - Fatal编程技术网

Php 如何在Joomla 3中检查用户密码?

Php 如何在Joomla 3中检查用户密码?,php,joomla,Php,Joomla,我正在开发Joomla3.3插件。 现在我想检查用户输入的用户名和密码是否正确。 我尝试了JUser->登录。问题是当用户名和密码不匹配时,此函数会自动将用户重定向到登录页面,并且不会显示插件提供的错误消息。 是否有任何解决方案可以在不使用登录名的情况下检查用户名和密码是否匹配 这是我的原始代码: $cfg = new JConfig(); if(isset($_REQUEST['username']) && isset($_REQUEST['passwd']))

我正在开发Joomla3.3插件。 现在我想检查用户输入的用户名和密码是否正确。 我尝试了JUser->登录。问题是当用户名和密码不匹配时,此函数会自动将用户重定向到登录页面,并且不会显示插件提供的错误消息。 是否有任何解决方案可以在不使用登录名的情况下检查用户名和密码是否匹配

这是我的原始代码:

$cfg = new JConfig();

    if(isset($_REQUEST['username']) && isset($_REQUEST['passwd']))
    {
        $_SESSION['lockuser'] = $_REQUEST['username'];
        $_SESSION['lockpass'] = md5($_REQUEST['passwd']);
    }

    if(isset($_SESSION['lockuser']) && isset($_SESSION['lockpass']))
    {
        $db = JFactory::getDBO();
        $db->setQuery('SELECT COUNT(*) FROM #__users WHERE `username`=' . $db->Quote($_SESSION['lockuser']) . ' AND `password`=' . $db->Quote($_SESSION['lockpass']));
        $db->query();
        if($db->loadResult())
        {
            return;
        }else{
            $error = "Wrong username/password !!!";
        }
    }

只是好奇,但为什么要先将请求变量转移到会话?也许这是Joomla特有的东西,但这有必要吗?你可能会在