![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 6.05.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich,
starałem się znaleźć rozwiązanie tu na forum, ale albo nikt nie miał takiego problemu, albo nie doszukałem :( Wygląda to tak: Napisałem pewien projekcik w php/MySql u siebie na Windzie 98 SE, przetestowałem na serwerze HomeNetu (czyli jakis linux o ile wiem) i zadowolony z siebie przesłałem wszystko klientowi, który powiedział, że nie działa - u klienta jest RedHat. Konkretnie, klient loguje się na stronę sklepiku i jeśli login i hasło są prawidłowe, to mu się wkłada do pieca ciasteczko zawierające uid, ważne przez 1 godzinę. Niestety u klienta ciasteczko albo się nie wkłada w ogóle, albo traci ważność np. po 45 sekundach albo po minucie - nie ma reguły. Czy ktoś z Was spotkał się z takimi objawami? Będę wdzięczny za sugestie gdzie szukać błędu. Pozdrawiam Olek |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 5.05.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Uruchom to jeszcze raz u sibei na serwerze (HomeNet czy jakos tak), a nastepnie powiedz klientowi zeby z tego sokrzystal.
Jezeli problem sie powtarza rowniez na Twoim serwerze, tzn, ze sa to prawdopodobnie opcje zabezpieczenw jego przegladarce. Jezeli nie, to napisz nam o tym (IMG:http://forum.php.pl/style_emoticons/default/ohmy.gif) ) |
|
|
![]()
Post
#3
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
To nie jest temat na php Pro.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 5.05.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
ten fakt to juz w ogole pominę, ale to niestety nie w Naszej gestii lezy....
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 6.05.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Przeniose sie z problemem na forum php
pozdrawiam Olek |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Prosze sie nie przenosic samemu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Tworzenie dwoch tych samych topicow to naruszenie regulaminu.
Jezeli uznacie, ze dany topic nie pasuje na jakims forum, dajcie znac przez PW do moderatorow. P.S. Podrzuc kawalek kodu bo tak to mozna szukac przyczyn w fusach od herbaty (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 6.05.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Oto kod:
oto fragment pliku login.php Kod if($submit)
{ $qLogin=mysql_query("select uid, login, status from gklienci where login='$login' and haslo='$password'"); $value=mysql_fetch_row($qLogin); if($value[2]!='N') { if(mysql_num_rows($qLogin)) { if($login=='admin') { setcookie ("uid", $value[0],time()+3600,'/gadget_adm'); header("location:/gadget_adm/index.php"); } else { setcookie ("uid", $value[0],time()+3600); header("location:index.php"); } } else { $badlogin=1; } } else { $nieaktywny=1; } } ?> A przy każdym wejsciu na strone jest sprawdzane czy bylo logowanie: Kod if(!isset($uid))
{ header("location:login.php"); } Wylogowanie nastepuje w taki sposob: Kod setcookie ("uid", $value[0],time()-3600);
header("location:index.php"); |
|
|
![]()
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Cytat A przy każdym wejsciu na strone jest sprawdzane czy bylo logowanie:
Kod if(!isset($uid)) { header("location:login.php"); } Mniemam, ze chodzi o to: [php:1:559c3e9480]if(!isset($_COOKIE['uid'])) { header("location:login.php"); }[/php:1:559c3e9480] :?: |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 6.05.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Dziekuje Wam za odpowiedzi, póki co nic si€ę nie zmieniło - dalej ciacha sie nie kładą.
W tej chwili jest tak, że można projekt uruchomić na serwerze linuxowym i tam działa, na tomiast nie działa na stacjach roboczych w tej samej sieci lokalnej. Na razie - na sugestie klienta - zrezygnowalem z cookies na rzecz sesji i zobaczymy co z tego wyjdzie. Pozdrawiam Olek |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
A dodaj sobie przed kodem $uid=$_COOKIE["uid"], może to pomoże.
|
|
|
![]()
Post
#11
|
|
Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Prosta sprawa, u siebie masz register_globals = on a klient ma registr_globals = off. Musisz dostosować skrypt do nowych standardów (zresztą już nie takich nowych). Rozumiem że zmienne $login i $password pochodzą z formularza, więc powinieneś użyć tablicy $_POST.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 6.05.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Witam,
w odpowiedzi do postu Cudiego - klient tez ma register_globals na on juz to przerabialismy. Teraz zrobilem to tak: plik login.php (fragment) Kod session_start();
session_register("uid"); if($submit) { $qLogin=mysql_query("select uid, login, status from gklienci where login='$login' and haslo='$password'"); $value=mysql_fetch_row($qLogin); if($value[2]!='N') { if(mysql_num_rows($qLogin)) { if($login=='admin') { $_SESSION['uid'] = $value[0]; header("location:/gadget_adm/index.php"); } else { $_SESSION['uid'] = $value[0]; header("location:/gadget/index.php"); } } else { $badlogin=1; } } else { $nieaktywny=1; } } ?> plik header.php (sprawdzany przy kazdym wywolaniu strony) (fragment) Kod session_start();
if(!isset($_SESSION['uid'])) { header("location:login.php"); } wylogowanie - plik wyloguj.php Kod session_start();
session_destroy(); session_unregister('uid'); header("location:index.php"); Teraz mam nastepujace watpliwosci: 1. Czy powinienem przekazywac $uid w URL-u? 2. Czy mimo wszystko jakies cookie jest wysylane do klienta czy tez dane o sesji sa przechowywane tylko na serwerze. 3. Przy testach zauważyłem, że po kilku minutach od zalogowania musiałem zalogować się ponownie - przy cookie mogę ustawić ważność np. na godzinę a w przypadku sesji co mogę zrobić? Pozdrawiam wszystkich Olek |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 04:29 |