ユーザーとしてログインしていると、自分のプロファイルのページにアクセスできません。各ページの上部に次のルールを設定しました。
ログインページ:
<?php session_start();
$password = $this->input->post('password');
if($password == '1'){$_SESSION['loggedin'] = 1;}
?>
その後、ユーザーはホームページに移動する必要があります。
<?php session_start();
if(! isset($_SESSION['loggedin']))
header("location:http://localhost/ci/web-project-jb.php/start");
?>
<div id="header">
<h1>
SpaceBook: <?=$username?>'s Home Page
</h1>
</div>
未登録のユーザーが私のWebページのいずれかに手動で移動しようとすると、「開始」ページに移動します。
<?php $_SESSION['username'] = null;?>
<body id="start">
<div id="header">
<h1>
SpaceBook: Start Page
</h1>
セッションが破棄されたことを確認するためだけに
ログアウト機能でセッションを破棄するように設定しました:
function logout()
{
$this->session->sess_destroy();
redirect ('start');
}
session_start();があります。ログイン後のホームページで(ログインページにも表示されます)、上記のifステートメントを入力したため、登録ユーザーとしてログインできなくなりました-なぜこれが発生する可能性がありますか?ログインページでsession_startを呼び出すこともできます。ログインパラメータを渡すログインコントローラもあります。ここにログインについて言及する必要がありますか?コントローラ:
function loguserin()
{
$this->load->helper(array('form', 'url'));
$this->load->library('form_validation');
$this->form_validation->set_rules('username', 'Username', 'required|min_length[5]|max_length[12]|trim');
$this->form_validation->set_rules('password', 'Password', 'required|md5|trim');
$username = $this->input->post('username');
$password = $this->input->post('password');
$valid = $this->membership->validateUser($username, $password);
if ($this->form_validation->run() && $valid == true)
{
$this->session->set_userdata('status', 'OK');
$this->session->set_userdata('username', $username);
redirect('home');
}
else
{
$this->session->set_userdata('status', 'NOT_OK');
$this->load->view('shared/header');
$this->load->view('account/logintitle');
$this->load->view('account/loginview');
$this->load->view('shared/footer');
}
}