나는 Codeigniter에서 세션이있는 로그인 페이지를 만들려고합니다.Codeigniter - link
그렇게하기 위해서는, I는 모델
function girisKontrol($username, $password) {
$sha1_password = sha1($password);
$query = "SELECT id FROM pasaj_register WHERE username = ? and password = ?";
$result = $this->db->query($query, array($username, $sha1_password));
if ($result->num_rows() == 1)
return $result->row(0)->id;
else
return false;
}
만들었고 얘들 제어기 난 얘들 i가 하나 개의 기능 이상으로 동일한 컨트롤러
public function giris() {
extract($_POST);
$userID = $this->giris->girisKontrol($username,$password);
echo $userID;
if (!$userID) {
$this->session->set_flashdata('login error',TRUE);
redirect('giris/giris');
} else {
$this->session->set_userdata(array(
'logged_in' => TRUE,
'userID' => $userID));
redirect('welcome_message');
}
}
라는 함수 제조 :
을
public function main_page()
{
if ($this->session->userdata('logged_in'))
echo "Logged in";
else
echo "Error";
}
보기에서 모두 사용하십시오.
<form method="POST" action="http://localhost:81/pasaj/giris/main_page/" name="flogin" autocomplete="off">
<label for="username"><b>Kullanıcı adı</b> ya da <b>e-posta</b> adresiniz:</label>
<input type="text" value="" class="normalinput" name="username" id="username">
<label for="password">Şifreniz:</label>
<input type="password" class="normalinput" value="" name="password" id="password">
<span class="bigsubmitwbtn yellow fright"><span class="bigsubmitwbtn_left"></span><input type="submit" class="bigbutton" name="submit" value="Giriş"></span>
</form>
</div>
그러나 main_page 함수에서 declered로, 직접 else 문으로 이동하여 오류 이유를 인쇄합니까?
다른 세션 값을 선언하고 페어핑 했습니까? 확실하지는 않지만 어쩌면 세션이 서버가 localhost (컴퓨터)에 있기 때문에 프로빙되어 저장되지 않을 수 있습니까? –
데이터를 데이터베이스에 저장 하시겠습니까? 세션의 var_dump는 무엇입니까? – Derfder