ďťż

[PHP|Sesion] Kontrolowanie pobierania id sesji. Czy moge zmusić PHP żeby pobrało id sesji z urla ?

       

Podstrony


telcocafe

Witam.
Mam mały problem odnośnie identyfikatora sesji.
Jest on przechowywany w coockie lub w stałej PHP - SID.

Strona1 (www.urlstrony.com[Logowanie]) <- Rejestracja identyfikatora sesji.
Strona2 (nowe okno) <- Sprawdzenie czy użytkownik jest zalogowany.

Problem polega na tym że kiedy URL to nie www.urlstrony.com tylko http://urlstrony.com
PHP tworzy nowe coockie z inną sesją, zamist użyć poprzednio stowrzonego.
Poniżej jest pokazane o co mi chodzi.
W przeglądarce cooki są dwa cookiesy z tej samej strony ale z innymi zmiennymi sesyjnymi.
Przeglądarka ciastek w FF
Chciałbym się dowiedzieć czy mogę zmusić jakoś PHP żeby przesłał mi id sesji przez URL,
a potem zmusić skrypt w Strona2 żeby odczytywał SID'a z URL, nawet jeśli obsługa cookie byłaby włączona.
Ewentualnie jeśli nie ma takiej możliwości.
Chciałbym się dowiedzieć jak mogę pograć dokładny URL strony żebym mógł wstawić go
w funkcje Javascript otwierającą nowe okno, żeby mi się nie tworzyły nowe ciasteczka.

Przepraszam za sposób swojej wypowiedzi bo prawdopodonie prostą sprawe bardzo pogmatwałem.
Uprzejmie proszę o odpowiedź i pozdrawiam.
Użytkownik orglee edytował ten post 19 lipiec 2006, 13:58


Jeśli dobrze zrozumiałem to chodzi o to aby adres URL miał postać: www.jakasstrona.com?PHPSESSID=id_sesji ?
Jeśli tak to musisz ustawić w php.ini wpis session.use_trans_sid na 1
IMHO lepiej to zrobić tak:
należy pobrać ID sesji za pomoca funkcji session_id() i wrzucić do jakiegoś ukrytego pola typu hidden i z niego odczytywać odpowiednie dane ,wtedy url lepiej będzie wyglądał i te dane będą niewidoczne ;)

To się może przydać jak będziesz chciał przesyłac dane post bez użycia formularza ;)
Użytkownik .:DzIuDek:. ™ edytował ten post 19 lipiec 2006, 15:40
Dokładnie chodzi o to że PHP zapisując sesje w cookie,
zapisuje je pod nazwą domenową mojej strony www.
To zaczy że jeśli ktoś wpisze w przglądarce, mojastrona.com
bez www utworzy się cookie o nazwie mojastrona.com i na stronie gdzie chcę wywołać sesję php
podaje w URLu do tego noego okienka adres www.mojastrona.com,
ale nie wiem przecież jak użytkownik wywoła moją strone i czy wpisze z www czy bez.
Przez to nie wiem też o jakiej nawie cooki będzie istaniało w przeglądarce użytkownika.
Poradziłem sobie z tym inaczej. Jak się zazwyczaj okazuje najprostsze rozwiązania są najlepsze.
Z URL'a otwierającego nowe okno usunęłem adres strony czyli:
zamiast
javascript noweOkno('www.mojastrona.com/noweOkno.php?arg&arg2')
jest
javascript noweOkno('noweOkno.php?arg&arg2')
i działa.
Dowiedziałem się również że można kontrolować pod jaką nazwą,
zostanie zapisane cooki z identyfikatorem sesji.

Można to ustawić za pomocą funkcji:
session_set_cookie_params() Link
Którą trzeba wywołać przed funkcją start_session()
Pzdr.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.