私は両方の仕事の罰金new self()
、$this
をテストするが、私は知りたい:プライベート関数でCodeIgniterの/ PHPのエラー未定義プロパティ
は、差分状況で使用しているとき、それは後で私に問題が発生します、それらの間のどのような違い?プライベート関数で変数を取得する方法を
Sencond load_user_record($rows)
を助けてくださいました私はエラー未定義プロパティが
private function load_user_record($rows)
{
$this->user_id = $rows->id;
$this->hashedPassword = $rows->user_pwd;
}
private function find_user_record($user_name)
{
$this->db->where('user_name',$user_name);
$query = $this->db->get('tbl_user');
$result = $query->result();
if($query->num_rows() > 0)
{
foreach($result as $rows):
/********** ***************どのような違い******************************/
/*
* $item = new self();
* $item->load_user_record($rows);
* $user_result[] = $item;
*/
$this->load_user_record($rows);
$user_result[] = $this;
/*************************ここで終わり****************** ************/
endforeach;
return $user_result;
}
return FALSE;
}
public function check_user_exist($user_name, $password)
{
$find_user = $this->find_user_record($user_name);
if($find_user !== FALSE)
{
/********************* HEREエラー未定義プロパティ**** *****************/
foreach($find_user as $user):
/* $user_id = $user->user_id;
* $hashed_password = $user->hashed_password;
* using this 2 variable above work
*/
$this->load_user_record($user);
// using this load_user_record not work
endforeach;
/************************ *エンドHERE ******************************/
if(password_verify($password, $hashedPassword)) {
if (password_needs_rehash($hashedPassword, PASSWORD_DEFAULT)) {
$time = date("Y-m-d H:i:s");
$newHashedPassword = password_hash($password, PASSWORD_DEFAULT);
$this->db->where('id',$user_id)
->set(array(
'user_pwd' => $newHashedPassword,
'last_login' => $time
));
if(!$this->db->update('tbl_user'))
return FALSE;
}
return TRUE;
}
return FALSE;
}
return FALSE;
}
エラーが起こる
A PHPエラーが重大度遭遇した
:未定義のプロパティ:
メッセージに注意してくださいログインする:: $ ID
ファイル名:/ Model.php
コア行番号: 77
バックトレース:
ファイル: C:\ WAMP \ WWW \ CodeIgniter_Projectアプリケーション\モデル\ Login_model.php ライン\バックエンド\:10機能:__get
ファイル: C:\ WAMP \ WWW \ CodeIgniter_Projectアプリケーション\モデル\ \バックエンド\ Login_model.php ライン:49機能:load_user_record
ファイル: C:\ WAMP \ WWW \ CodeIgniter_Project \アプリケーション\コントローラ\バックエンド\ Login.php ライン:27機能:check_user_exist
ファイル: C:\ Wamp \ www \ CodeIgniter_Project \ index。PHPのライン:316機能: のrequire_once
A PHPエラーが重大
を発生しました:未定義のプロパティ::ログイン:: $ user_pwd
ファイル名
メッセージに注目してください:core/Model.php
行番号:77
バックトレース:
ファイル: C:\ WAMP \ WWW \ CodeIgniter_Projectアプリケーション\モデル\ \ Login_model.php ライン\バックエンド:11機能:__get
ファイル: C:\ WAMP \ WWW \ CodeIgniter_Project \アプリケーション\モデル\バックエンド\ Login_model.php ライン:49機能:load_user_record
ファイル: C:\ WAMP \ WWW \ CodeIgniter_Project \アプリケーション\コントローラ\バックエンドの\ Login.php ライン:27機能:check_user_exist
ファイル:C:\ WAMP \ WWW \ CodeIgniter_Project \ラインのindex.php:316機能: のrequire_once
A PHPのエラーが発生しました
重大度:通知
メッセージ:未定義の変数:hashedPassword
ファイル名:バックエンド/ Login_model.php
行番号:53
バックトレース:
ファイル: C:\ WAMP \ WWW \ CodeIgniter_Project \アプリケーション\モデル\ Login_model.php \バックエンドライン:53機能:_error_handler
ファイル: C:\ WAMP \ WWW \ CodeIgniter_Project \アプリケーション\コントローラ\バックエンド\ Login.php ライン:27機能:check_user_exist
ファイル:C:\ WAMP \ WWW \ CodeIgniter_Project \ラインのindex.php:316機能: のrequire_once
と私のコードは、OOPで右ですか?私がOOPで間違っていれば私に気にしないでください。
:にコードを変更 \t \t \t \t \tます$ this-> load_user_record($ユーザ)。 \t \t \t \t \t endforeach; – Reaksmey