Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Problem z odczytaniem cookie
Testosteron
post 27.09.2014, 09:53:13
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 2
Dołączył: 15.09.2011

Ostrzeżenie: (0%)
-----


Witajcie. Mam dziwny problem. Na początek przedstawię fragment kodu:
  1.  
  2. $user_check = $this->db->query("SELECT login, password FROM register WHERE login = '" .$login. "' AND password = '" .$pass. "'");
  3. if($user_check->num_rows == 1){
  4. //jeśśli user istnieje
  5. $a = $login.$pass;
  6. setcookie('hello', $a, time()+99999);
  7. echo $_COOKIE['hello'];
  8.  
  9. } else {
  10. //jeśli podane dane są błędne
  11. echo 'Błędne dane';
  12. }


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.
  1. <?php
  2.  
  3. class Log extends ci_Controller{
  4. function index(){
  5. $this->load->database();
  6. $this->load->library('form_validation');
  7. $this->load->library('code_cookie');
  8.  
  9. //jeśli nie zostały wprowadzone dane do formularza
  10. if(isset($_SESSION['log'])) {
  11. $login = $this->code_cookie->uncode_id($_SESSION['log']);
  12. $password = $this->code_cookie->uncode_pass($_SESSION['log']);
  13. echo 'Jesteś zalogowany jako ' . $login . ' o hasle ' . $password;
  14. }elseif(isset($_COOKIE['log'] )){
  15. $login = $this->code_cookie->uncode_id($_COOKIE['log']);
  16. $password = $this->code_cookie->uncode_pass($_COOKIE['log']);
  17. echo 'Jesteś zalogowany jako ' . $login . ' o hasle ' . $password;
  18. } else{
  19.  
  20. if(isset($_POST['login']) && isset($_POST['pass']) ){
  21. //jeśli zmienne $login i $pass zostały wprowadzone
  22. $login = trim($this->form_validation->xss_clean($_POST['login']) );
  23. $pass = trim($this->form_validation->xss_clean(sha1($_POST['pass']) ) );
  24.  
  25. //sprawdź, czy wprowadzone dane są poprawne
  26.  
  27. $user_check = $this->db->query("SELECT login, password FROM register WHERE login = '" .$login. "' AND password = '" .$pass. "'");
  28.  
  29. if($user_check->num_rows == 1){
  30. //jeśśli user istnieje
  31. $a = $login.$pass;
  32. setcookie('hello', 'hello', time()+99999);
  33. echo 'Zmienna hello = ' .$_COOKIE['hello'];
  34.  
  35. } else {
  36. //jeśli podane dane są błędne
  37. echo 'Login lub hasło jest błędne';
  38. }
  39.  
  40. } else {
  41. $this->load->view('log');
  42. }
  43.  
  44. }
  45.  
  46. }
  47. }
  48. ?>


Z góry thx za odpowiedź.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 11:15