-1
<?php
class Login_model extends CI_Model {
public function login() {
$username = $_POST['uname'];
$password = $_POST['pw'];
$query = $this->db->get_where('test_logins', array('name' => $username, 'password' => $password));
$count = $query->num_rows() > 0;
if ($count == 1) {
foreach ($query->result_array() as $row)
{
$exam_id=$row['id'];
}
$query2 = $this->db->get_where('candidates', array('email' =>$_POST['email']));
$count2=$query2->num_rows();
//echo($count2);
if($count2==1){
foreach ($query2->result_array() as $row2)
{
$candidate_id=$row2['id'];
$part1=$row2['part1'];
$part2=$row2['part2'];
$part3=$row2['part3'];
$part4=$row2['part4'];
}
//set session
$newdata1 = array(
'username' => $username,
'exam_id'=> $exam_id,
'candidate_id'=> $candidate_id,
'logged_in' => TRUE
);
$this->session->set_userdata($newdata1);
if(empty($part1)){
return 'part1';
}else if(empty($part2)){
return 'part2';
}else if(empty($part3)){
return 'part3';
}else if(empty($part4)){
return 'part4';
}
}else{
$data = array(
'name' => $_POST['name'],
'email' => $_POST['email'],
'exam_id' => $exam_id,
'contact' => $_POST['mobile'],
);
$this->db->insert('candidates', $data);
$candidate_id=$this->db->insert_id();
$newdata = array(
'username' => $username,
'exam_id'=> $exam_id,
'candidate_id'=> $candidate_id,
'logged_in' => TRUE
);
$this->session->set_userdata($newdata);
return 'part1';
}//else insert candidate
}else {
return FALSE;
}
}
}
?>
檢查登錄ID和密碼是否正確。如果是,則檢查用戶是否已經註冊參加考試,如果註冊用戶創建會話,然後檢查剩餘部分的考試並重定向到該部分控制器,如果未註冊創建記錄並創建會話,則重定向到考試的第一部分,但會話在第一次嘗試時始終爲空,並從第二次嘗試開始設置。Codeigniter Session Sets第二次登錄時
爲什麼你寫$ count = $ query-> num_rows()> 0;而不是if($ query-> num_rows()> 0){} else {}和你的整個編碼結構。 – MasoodUrRehman