Witajcie. Mam dziwny problem. Na początek przedstawię fragment kodu:
$user_check = $this->db->query("SELECT login, password FROM register WHERE login = '" .$login. "' AND password = '" .$pass. "'");
if($user_check->num_rows == 1){
//jeśśli user istnieje
$a = $login.$pass;
} else {
//jeśli podane dane są błędne
}
Cookie jest tworzone (zarówno nazwa jak i wartość jest ok), lecz nie wyświetlane. Zmienna sesyjna jest wyświetlana ok, z tym, że w przedstawionym wyżej fragmencie została wycięta. Pokazuje mi się komunikat, że nie zdefiniowałem zmiennej 'hello'. Pod odświerzeniu strony wszystko jest ok
Używam frameworka CodeIgniter. Na koniec wrzucam cały kod kontrolera. Od razu mówię, że dopiero uczę się CI.
<?php
class Log extends ci_Controller{
function index(){
$this->load->database();
$this->load->library('form_validation');
$this->load->library('code_cookie');
//jeśli nie zostały wprowadzone dane do formularza
if(isset($_SESSION['log'])) { $login = $this->code_cookie->uncode_id($_SESSION['log']);
$password = $this->code_cookie->uncode_pass($_SESSION['log']);
echo 'Jesteś zalogowany jako ' . $login . ' o hasle ' . $password; }elseif(isset($_COOKIE['log'] )){ $login = $this->code_cookie->uncode_id($_COOKIE['log']);
$password = $this->code_cookie->uncode_pass($_COOKIE['log']);
echo 'Jesteś zalogowany jako ' . $login . ' o hasle ' . $password; } else{
if(isset($_POST['login']) && isset($_POST['pass']) ){ //jeśli zmienne $login i $pass zostały wprowadzone
$login = trim($this->form_validation->xss_clean($_POST['login']) ); $pass = trim($this->form_validation->xss_clean(sha1
($_POST['pass']) ) );
//sprawdź, czy wprowadzone dane są poprawne
$user_check = $this->db->query("SELECT login, password FROM register WHERE login = '" .$login. "' AND password = '" .$pass. "'");
if($user_check->num_rows == 1){
//jeśśli user istnieje
$a = $login.$pass;
echo 'Zmienna hello = ' .$_COOKIE['hello'];
} else {
//jeśli podane dane są błędne
echo 'Login lub hasło jest błędne'; }
} else {
$this->load->view('log');
}
}
}
}
?>
Z góry thx za odpowiedź.