codeigniter ログイン スクリプトについて質問があります。それほど複雑ではありませんが、うまく機能します。私の質問は、ユーザーがログに記録されると、私の Web サイトの別の部分にリダイレクトされることです。URL が非公開になるようにするにはどうすればよいですか?
たとえば、次の URL には誰でもアクセスできます。URL が非公開であることを確認するにはどうすればよいですか? mywebsite.com/_states/site/members_area
みんな、ありがとう
サイト コントローラー
function validate_credentials()
{
$this->load->model('model_data');
$query = $this->model_data->validate_users();
if($query){
$data = array(
'username' => $this->input->post('username'),
'email' => 'johndoe@some-site.com',
'is_logged_in' => TRUE
);
$this->session->set_userdata($data);
redirect('site/members_area',$data);
} else {
$this->login();
}
}
Model_data は CI_Model を拡張します
function validate_users()
{
$this->db->where('username', $this->input->post('username'));
$this->db->where('password', md5($this->input->post('password')));
$query = $this->db->get('members');
if ($query->num_rows == 0){
}
if ($query->num_rows == 1){
return true;
}
}
members_area URL
<?php
echo 'Welcome!'.'<br>';
$session_id = $this->session->userdata('session_id').'<br>';
$whatever = $this->session->userdata('is_logged_in').'<br>';
$email = $this->session->userdata('email').'<br>';
$username = $this->session->userdata('username').'<br>';
echo 'This is the session ID = '."$session_id".'<br>';
echo 'This is the boolean, 1 means true = User Logged In = '."$whatever".'<br>';
echo 'This is the user "foo" email = '."$email".'<br>';
echo 'This is the user username = '."$username".'<br>';
echo anchor('site/logout', 'Logout!');
?>