現在のユーザーセッション(存在する場合)を取得し、それをデータベースと比較して、loggedIn値= 1(loggedInを意味する)を取得し、このwhere句に一致する単一の行が存在することをカウントしようとしています。それが存在する場合は、ログインしていることを表示します。そうでない場合は、ログインフォームを表示します(if{}
else{}
以下に表示)
次の関数を持つモデルがあります。
function check_if_loggedin(){
#get user session id from db.
$sess = $this->session->userdata('session_id');
#set numerical value of successfully logged in equal 1
$loggedInSetSuccess = 1;
#compare session id to match in db (can only have only 1 match)
$sessionsDbCompare = $this->db->get_where('Client',array('session_id'=>$sess,'loggedIn'=>$loggedInSetSuccess));
if($sessionsDbCompare->count_all_results() = 1) {
# User has valid session(valid sessID+loggedIn=0, show welcome
echo 'Logged in baby';
# show account pref
}
else{
# user doesnt have both a valid session and loggedIn is set to 0, show login form
echo 'login form here';
}
}
問題は、またはif($sessionsDbCompare->count_all_results() = 1) {
を使用している場合、IDeが警告を発していることです。申し訳ありませんが、これは少し初心者です。count_all_results()は関数であるため、少し混乱していると思います。(私は "1" == "01"のような比較演算子を理解しています)count_all_results() == 1
count_all_results() === 1