Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z cookie, przekierowanie do strony
ghash
post
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 5.11.2006
Skąd: Poznań

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


Mam jeden problem...
Stworzyłem mechanizm logowania się do systemu WWW na podstawie ciasteczek...
I tak:
  1. <?php
  2. #tworzenie ciasteczka sesji; przechowywanie danych o nazwie usera, dacie logowan
    ia i poziomie dostepu do strony
  3. $cook = setcookie('ibase_log',"$session_nazwa#$session_data#$session_sec_level");
  4.  
  5. # po poprawnym logowaniu -> przenoszenie do strony glownej
  6. header ('Location: adreshttp/main.php');
  7. ?>



Po zalogowaniu oczywiście są tworzone funkcje sprawdzenia hasła i innych rzeczy, a potem jest właśnie tworzenie ciastka... Po ciastku jest automatyczne przenoszenie na stronę główną...
W domu ten system działa... Natomiast jak kod przeniosłem do pracy (kompy połączone są sieciowo) to po przenoszeniu na stronę main.php pokazuje mi komunikat że użytkownik nie zalogował się...

Jak kod zmienię na takie coś:
  1. $cook = setcookie('ibase_log',"$session_nazwa#$session_data#$session_sec_level");
  2.  
  3.  if (!$cook) {echo "brak cookie";} else {echo "jest cookie";}
  4. ?> <a href="adreshttp/main.php">strona</a> <?php


Czyli tworzy się ciastko, następnie muszę kliknąć aby przenieść się do strony to wszystko jest w porządku...
Czy istnieje może jakaś inna metoda na automatyczne przenoszenie na inną stronę??
A może coś z kodem jest nie tak?

Ten post edytował ghash 20.12.2006, 12:25:54
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
kszychu
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


Przenoszę na przedszkole, ponieważ nie użyłeś poprawnie mechanizmu ciastek. Poczytaj sobie o ciastkach i spróbuj przerobić to na $_COOKIE


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
ghash
post
Post #3





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 5.11.2006
Skąd: Poznań

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


Poniżej podaję to od czego zaczyna się każda strona:

  1. <?php
  2. # sprawdzenie czy uzytkownik jest zalogowany do systemu
  3. if (isset($_COOKIE['ibase_log']) ) {
  4. # pobranie danych o uzytkowniku z zalogowanego cookie
  5. $cookie_info = $_COOKIE['ibase_log'];
  6. $session_info = explode ('#',$cookie_info);
  7.  
  8.  
  9. # cookie polu wartość ma zapisane dane: '$session_nazwa#$session_data#$session_sec_level' 
  10. # odpowiednio user, data zalogowania, poziom dostepu do strony
  11. $ibase_log_user = $session_info['0'];
  12. $ibase_log_data = $session_info['1'];
  13. $ibase_log_seclevel = $session_info['2'];
  14. }
  15. else {  # jezeli user nie zalogowany
  16. echo "Użytkownik nie jest zalogowany do aplikacji"; exit; }
  17. ?>


Także mam mechanizm sprawdzenia czy jest utworzone w ogóle cookie...
Więc co musiałbym przerobić na $_COOKIE?
Tak jak pisałem - w domu na jednym komputerze to działa...
I działa na Firefoxie i na IE - w pracy nie działa na obu przeglądarkach...



Odpowiedź na powyższe:)

Zamias header() użyłem takiego czegoś:

  1. <?php
  2. if (!$cook) {echo "brak cookie";} else {
  3. echo '<meta http-equiv="Refresh" content="0; URL=adreshttp/main.php">';
  4. exit; }
  5. ?>


Ten post edytował ghash 21.12.2006, 13:10:31
Go to the top of the page
+Quote Post

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 Aktualny czas: 21.08.2025 - 17:36