Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V   1 2 3 >  
Closed TopicStart new topic
> [PHP] kłopot z cookis, Prosze o pomoc
zort
post 7.01.2009, 22:28:07
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 13.07.2008

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


Nie che mi działać cookis nie wiem czemu nie che go tworzyć
moze pomozecie bo ja już nie wiem jak
  1. <?php
  2. require_once ("*****.php");
  3. $db_host = '*****';
  4. $db_user = '****';
  5. $db_pass = '****';
  6. $db_name = '****';
  7.  
  8. //ustawiamy polączenie z bazą danych
  9. $lacz = mysql_pconnect($db_host, $db_user, $db_pass);
  10.    if(!$lacz)
  11.    {
  12.     echo "Wystąpił błąd: Połączenie z bazą nie powiodło się.";
  13.     exit;  }
  14.  
  15. //wybieramy bazę
  16. if(!@mysql_select_db($db_name, $lacz)) {
  17. echo '<b>Baza danych chwilowo niedostepna. Przepraszamy.</b>';
  18. };
  19.  
  20. $za = "SELECT `grupa` FROM `uzyt` WHERE `login`='$login'";
  21. $fo = mysql_query($za);
  22. $grupa = mysql_fetch_row($fo);
  23.  
  24.  
  25. setcookie("zalogowany",'zalogowany',time()+3600*3);
  26. setcookie("login",$login,time()+3600*3);
  27. setcookie( "grupa",$grupa[0],time()+3600*3);
  28. print $login."<br>";
  29. print $grupa[0]."<br>";
  30.  
  31.  
  32. echo "wykonane";
  33. echo"<META HTTP-EQUIV=\"Refresh\" CONTENT=\"2;URL=../index.php?go=****.php\">";
  34. ?>
Go to the top of the page
+Quote Post
Rafal Filipek
post 7.01.2009, 22:37:16
Post #2





Grupa: Zarejestrowani
Postów: 274
Pomógł: 54
Dołączył: 2.05.2006
Skąd: Nadarzyn

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


ale nie zapisuje ci zadnego czy moze tylko 1 ?
sprawdz czy nie masz w pliku ktory dodajesz przez require_once zadnych spacji i lini przed <?php i po ?> bo zeby cookies zostalo zapisane nie moze nic zostac wyslane do przegladarki.
Go to the top of the page
+Quote Post
sowiq
post 7.01.2009, 23:02:36
Post #3





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Odpuść sobie takie logowanie... Ustawię sobie jedno ciastko i już jestem zalogowany na Twojej stronie.
Go to the top of the page
+Quote Post
bmL
post 7.01.2009, 23:11:18
Post #4





Grupa: Zarejestrowani
Postów: 301
Pomógł: 25
Dołączył: 15.07.2007
Skąd: Olsztyn

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


Jak sprawdzasz czy zmienna $_COOKIE['login'] istnieje? bo nie widzę.
Dorzuć do cookie zakodowane hasło może jakąś kombinacją md5 / sha1 i login przechowuj w sesji. Jeżeli w sesji nie będzie loginu to sprawdzaj czy nie ma cookie jeżeli jest to wykonaj zapytanie do bazy i sprawdź czy dane się zgadzają po czym ustawiasz $_SESSION['login'] Czy jak tam wolisz. Tak było by najbezpieczniej i najwydajniej IMHO.

Ten post edytował bmL 7.01.2009, 23:13:07


--------------------
Tutaj miał być jakiś mądry tekst. Miał być... No ale jest głupi tekst.
Go to the top of the page
+Quote Post
zort
post 7.01.2009, 23:26:59
Post #5





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 13.07.2008

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


o to chodzi ze sprawdziłem on zadnego nie che tworzyć cista w tym klopot
ale jak napisałem sam skrypt to chodzi ale jak właduje do szablonu to przestaje chodzić cistka powiecie czemu questionmark.gif

Tak ale sesji nie mogę ustawic czasowo niestety
Go to the top of the page
+Quote Post
Rafal Filipek
post 8.01.2009, 00:02:56
Post #6





Grupa: Zarejestrowani
Postów: 274
Pomógł: 54
Dołączył: 2.05.2006
Skąd: Nadarzyn

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


w pliku ktory laduje sie jako pierwszy wstaw na samym początku
Kod
ob_start();

a w ostatnim na samym koncu
Kod
ob_end_flush();

jak zacznie dzialac to patrz ten moj post

Ten post edytował Rafal Filipek 8.01.2009, 00:03:34
Go to the top of the page
+Quote Post
bmL
post 8.01.2009, 00:27:24
Post #7





Grupa: Zarejestrowani
Postów: 301
Pomógł: 25
Dołączył: 15.07.2007
Skąd: Olsztyn

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


Cytat(zort @ 7.01.2009, 23:26:59 ) *
Tak ale sesji nie mogę ustawic czasowo niestety

Nie chodzi mi o zastosowanie samej sesji.
Mam na myśli rozwiązanie oparte na twoim jednak uwzględniające fakt, że ktoś może sobie zrobić sam cookie i będzie zalogowany na Twojej stronie nie znając żadnych haseł. Dla tego lepiej zapisać w cookie też zakodowane hasło tak jak w bazie danych ale nie stosuj zwykłego md5 tylko jakieś bardziej skomplikowane kodowanie. Jako, że zapisywał byś hasło w cookies to musisz sprawdzić w bazie danych czy hasło jest poprawne ale po co robić to przy każdym odświeżeniu strony? Tutaj właśnie przychodzą z pomocą sesje.
  1. <?php
  2. if(empty($_SESSION['zalogowany']) && !empty($_COOKIE['login']) && !empty($_COOKIE['haslo']))
  3. {
  4.  // sprawdz hasło i login jeżeli dobre ustaw $_SESSION('zalogowany') itp.
  5. }
  6. ?>

Tak zarysowałem trochę.

Ten post edytował bmL 8.01.2009, 00:28:53


--------------------
Tutaj miał być jakiś mądry tekst. Miał być... No ale jest głupi tekst.
Go to the top of the page
+Quote Post
zort
post 8.01.2009, 00:41:59
Post #8





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 13.07.2008

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


Tak Ale zrozum to jak to wszystko mam gotowe a pisze do was dlatego ze nie moge utworzyć anie sesji ani cookisa wienc nie wiem gdzie jest błąd bo przedtem to chodziło ale na sucho ale jak zaczołem to składać czyli łacztć z szablonem to przestalo to chodzic powiecie czemu bo ja wiem jak reszte mam zrobić ale nie wiem czmu to nie chodzi
Go to the top of the page
+Quote Post
Ociu
post 8.01.2009, 07:53:39
Post #9





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Przenoszę do przedszkola.
Go to the top of the page
+Quote Post
zort
post 8.01.2009, 12:27:15
Post #10





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 13.07.2008

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


to co pomoże mi ktoś questionmark.gif

takie pytanko czy sesja po zamknieciu przeglondarki zostaje wykasowana questionmark.gif
Go to the top of the page
+Quote Post
Rafal Filipek
post 8.01.2009, 14:33:21
Post #11





Grupa: Zarejestrowani
Postów: 274
Pomógł: 54
Dołączył: 2.05.2006
Skąd: Nadarzyn

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


czy sprawdziles to co ci napisałem tutaj ?
Go to the top of the page
+Quote Post
bmL
post 8.01.2009, 15:19:06
Post #12





Grupa: Zarejestrowani
Postów: 301
Pomógł: 25
Dołączył: 15.07.2007
Skąd: Olsztyn

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


1. Powiedz w jaki sposób sprawdzasz to cookie bo nijak nie mogę się doszukać we wklejonej części kodu. Zawiera on jedynie wysłanie cookie do użytkownika a jak sprawdzasz czy użytkownik ma ustawione cookie?
2. Daj na początku error_reporting(E_ALL); i powiedz co Ci tam wypluwa.

Ten post edytował bmL 8.01.2009, 15:19:45


--------------------
Tutaj miał być jakiś mądry tekst. Miał być... No ale jest głupi tekst.
Go to the top of the page
+Quote Post
zort
post 8.01.2009, 21:49:43
Post #13





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 13.07.2008

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


Tak sprawdziłem i nic nie działa a jak sprawdzam wywołuje cookis i nic a i sprawdzam czy stworzył w pliku cookisa i nie tworzy
Go to the top of the page
+Quote Post
bmL
post 8.01.2009, 22:54:03
Post #14





Grupa: Zarejestrowani
Postów: 301
Pomógł: 25
Dołączył: 15.07.2007
Skąd: Olsztyn

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


W jakim pliku sprawdzasz? Pokaż kod sprawdzający. Rozumiem, ze po ustawieniu error_reporting i tez nie ma zadnych bledow?


--------------------
Tutaj miał być jakiś mądry tekst. Miał być... No ale jest głupi tekst.
Go to the top of the page
+Quote Post
zort
post 9.01.2009, 13:51:48
Post #15





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 13.07.2008

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


Też właśnie dlatego ja już zgłupiałem i stoję w miejscu
  1. <?php
  2. echo $HTTP_COOKIE_VARS["nazwa_cookie"];
  3. ?>
i wogule nic się nie pokazuje więc nie wiem czemu sprawdzałem na rożne sposoby nawet w katalogu sprawdzalem i nie tworzy wogule
Go to the top of the page
+Quote Post
sowiq
post 9.01.2009, 14:55:06
Post #16





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


php.net mówi:
Cytat
Once the cookies have been set, they can be accessed on the next page load with the $_COOKIE or $HTTP_COOKIE_VARS arrays. Note, superglobals such as $_COOKIE became available in PHP 4.1.0. Cookie values also exist in $_REQUEST.


oraz:
Cytat
Zauważ także, że starsze zmienne predefiniowane ($HTTP_*_VARS) wciąż funkcjonują. Od PHP 5.0.0, długie tablice zmiennych predefiniowanych mogą być wyłączone dyrektywą konfiguracji register_long_arrays.


Spróbuj:
  1. <?php
  2. var_dump($_COOKIE);
  3. var_dump($HTTP_COOKIE_VARS);
  4. var_dump($_REQUEST);
  5. ?>

i pokaż co wyrzuciło.

Ten post edytował sowiq 9.01.2009, 16:42:20
Go to the top of the page
+Quote Post
zort
post 9.01.2009, 15:27:50
Post #17





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 13.07.2008

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


to wyrzuciło
Parse error: syntax error, unexpected T_VARIABLE in C:\Program Files\WebServ\httpd-users\poprawne juz\Nowy folder\include\jest juz.php on line 4

Ten post edytował zort 9.01.2009, 15:28:34
Go to the top of the page
+Quote Post
sowiq
post 9.01.2009, 16:43:04
Post #18





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Sorry, z rozpędu nie napisałem nawiasów smile.gif Wyedytowałem poprzedni post, spróbuj teraz.
Go to the top of the page
+Quote Post
zort
post 9.01.2009, 19:14:29
Post #19





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 13.07.2008

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


No nic nie szkodzi teraz wyskoczyło coś takiego <php>array(1) { ["PHPSESSID"]=> string(32) "7b5eafea3538dc56be1ea674495ac401" } array(1) { ["PHPSESSID"]=> string(32) "7b5eafea3538dc56be1ea674495ac401" } array(2) { ["go"]=> string(12) "jest juz.php" ["PHPSESSID"]=> string(32) "7b5eafea3538dc56be1ea674495ac401" }
Notice: Undefined variable: login in C:\Program Files\WebServ\httpd-users\poprawne juz\Nowy folder\include\jest juz.php on line 9

Notice: Undefined variable: login in C:\Program Files\WebServ\httpd-users\poprawne juz\Nowy folder\include\jest juz.php on line 18
</php>
Go to the top of the page
+Quote Post
sowiq
post 9.01.2009, 19:20:44
Post #20





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Więc z tego wynika, że masz ustawione tylko jedno ciastko o nazwie PHPSESSID i wartości "7b5eafea3538dc56be1ea674495ac401". Czyli niepoprawnie próbujesz ustawić kolejne.
Wyżej masz podpowiedzi jak to naprawić. Polecam też php.net
Go to the top of the page
+Quote Post

3 Stron V   1 2 3 >
Closed 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: 12.06.2025 - 22:23