相同的密码值比较返回false cakephp

时间:2016-06-14 14:50:49

标签: php database cakephp

我正在尝试比较输入'传递'通过'传递'来自数据库。如果匹配,则用户将进入注册表。

即使两个密码具有相同的值,我仍然会得到错误的结果,而密码不正确'和通知:未确定的指数:通过。 我正在使用Cakephp 2.8

这是我现在的代码:

    public function checkCodeRespondent() {

     $password = $this->data['Respondent']['pass'];

      if (isset($password) && !empty($password))
      {

          $respondent = $this->findByPass($password);
          debug($respondent);

            if ($this->data['Respondent']['pass'] != $respondent['pass']) {


                print 'password is not correct';
            } else {
                print 'password is correct';
            }


      }

这是从数据库中检索数据的功能

    public function findByPass($pass) {

    $respondent = $this->Respondent->find('first', array('conditions' => array('pass' => $pass)));
    return $respondent;
}

3 个答案:

答案 0 :(得分:1)

如果您的密码没有哈希,请尝试:

installedSoftware.AddRange(GetInstalledSoftware(@"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall"));
installedSoftware.AddRange(GetInstalledSoftware(@"HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"));
installedSoftware.AddRange(GetInstalledSoftware(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"));

你根本不需要多种功能......

答案 1 :(得分:0)

  

Undefined index 'pass'

表示数组正在引用尚未设置的Key值,因此尚未设置$this->data['Respondent']['pass']值或尚未设置$respondent['pass']。检查两者并查看缺少哪一个,然后退一步找出丢失数据的原因。

<强>调试: print_r($this->data);输出是什么? print_r($respondent);输出是什么,这些数组都是你期望的形状?

注意:还因为他们的密码: 这些值中的任何一个都是哈希值吗?如果是这样,他们两个都是哈希?

答案 2 :(得分:0)

我写了一个错字:)

此:

 if ($this->data['Respondent']['pass'] != $respondent['pass'])

应该是这样的:

 if ($this->data['Respondent']['pass'] != $respondent['Respondent']['pass'])

现在比较就像一个魅力