![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 12 Pomógł: 1 Dołączył: 8.08.2011 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Na początku dodam, że próbowałem już wielu rzeczy i szukałem w wielu źródłach jednak nie znalazłem rozwiązania. 1) Mam skrypt logowania, który nie tworzy mi ciasteczek. Loguje mnie, ale gdy potem wejdę na dowolną podstronę moje ciasteczka i sesje znikają. Gdy zaloguje się za drugim razem wszystko jest już ok. Kod setcookie("CMS-Account-Type",$type,(time+3600*24),"/","http://www.adres.pl"); setcookie("CMS-UserLogin",$user_from_db,(time()+3600*24),"/","http://www.adres.pl"); setcookie("CMS-Unique-ID",md5($user_from_db),(time()+3600*24),"/","http://www.adres.pl"); setcookie("CMS-LoginStatus",true,(time()+3600*24),"/","http://www.adres.pl"); setcookie("CMS-PaybackID",$id_user,(time()+3600*24),"/","http://www.adres.pl"); $actual_adress = $_SERVER['REQUEST_URI']; header( 'refresh:0;url='.$actual_adress); Z tworzeniem sesji jest podobny efekt ![]() 2) Dodam, że w pliku index.php mam na początku dane Kod ob_start(); session_start(); //Cały kod strony ob_end_flush(); 3) Być może problem też wynika z ustawień htaccess, które mam rozwiązane w ten sposób: Kod RewriteEngine on Options All -Indexes RewriteRule ^.+(includes/.+)$ $1 [L] RewriteRule ^.+(modules/.+)$ $1 [L] RewriteRule ^.+(admin/.+)$ $1 [L] RewriteRule ^.+(klasy/.+)$ $1 [L] RewriteRule ^.+(pliki/.+)$ $1 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !.*\.(jpg|png|jpeg) RewriteRule ^.*$ index.php/$1 [L] Próbowałem użyć setcookie z trzema parametrami tj. nazwa,zawartość, data ważności i też bez efektu. Dodatkowe informacje: w ustawieniach php sesion.save_path jest ustawione na /tmp i folder ten istnieje na moim serwerze w pliku public_html z odpowiednio ustawionymi chmodami (do dostępu). Nie wiem czy dział przedszkole to dobry dział, problem jest pewnie banalny jednak nie znalazłem rozwiązania mojej sprawy w związku z czym chcę poradzić się bardziej zaawansowanych użytkowników. Ten post edytował Dyktus 24.03.2014, 10:10:53 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 578 Pomógł: 69 Dołączył: 15.04.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Jak sprawdzasz istnienie cookie?
Strzelam że nie wiesz jak działa cookie. Więc: Gdy tworzysz cookie za pomocą setcookie to tworzone jest ciasteczko i wysyłane jest ono do użytkownika. Zaś zmienna $_COOKIE jest pobierana przez serwer w momencie zapytania (zanim wykona się kod php). Dlatego gdy dasz setcookie('ciasteczko','wartosc') to zmienna $_COOKIE['ciasteczko'] będzie pusta - serwer gdy był odpytywany nie dostał takiego ciasteczka. Jeśli chcesz od razu korzystać z tego ciasteczka (co jest zbędne bo możesz to mieć w innej zmiennej) to musisz dać oprócz setcoockie kod:
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 12 Pomógł: 1 Dołączył: 8.08.2011 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Pamiętam, że jak jeszcze pół roku temu pisałem skrypt logowania to sposób ustawiania wartości ciasteczka przy pomocy setcookie działał bezproblemowo i miało ono wartość od razu ustaloną wartość.
Czy ciasteczko istnieje sprawdzam w ten sposób: Kod if(isset($_COOKIE['ciasteczko']){ //do something }else{ //brak ciasteczka } @edit No i niestety nawet przypisanie potem wartości do Kod $_COOKIE['ciasteczko']='blabla'; nie działa poprawnie, bo mnie wylogowuje z niewiadomych powodówDodam jeszcze, że po zalogowaniu w przeglądarce tworzy mi się tylko ciasteczko o nazwie "_ga" co również jest dziwne. Wyszłoby na to, że skrypt działa bo obok ciasteczek tworzę sesje, które zresztą też nie są pamiętane po pierwszym logowaniu Ten post edytował Dyktus 25.03.2014, 10:05:35 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.08.2025 - 23:12 |