![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 17.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
No dobra może napisze nowy temat bo tamten poprzedni który tyczył się troszkę czegoś innego już chyba nikt nie czyta więc nikt ni zobaczy co do niego dopisałem
![]() A więc tak: mam plik haslo.php
poprzez którą loguje się na różne podstronki i zapamiętuje w sesji $_SESSION[id]=$id; na każdej stronce gdzie korzystam ze zmiennej sesyjnej oczywiście mam umieszczone session_start(); no i teraz chce się z niej wylogować i jakoś zniszczyć tą zmienną sesyją co mi w ogóle nie wychodzi :/ np mam takie coś <a href='forum/wyloguj.php?page=0' class='wyloguj'> (wyloguj)</a> i plik wyloguj.php
tak to się niszczy? ![]() ![]() ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 283 Pomógł: 34 Dołączył: 21.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wydaje mi się, że nie ma nic takiego jak destroy_session();
Spróbuj session_unset(); i/lub session_destroy(); i będzie działać. -------------------- Free Web Tools - narzędzia dla programistów, webdeveloperów i specjalistów seo...
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 17.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
ahh faktycznie odwrotnie napisałem
![]() Ale ani to ani to nic nie zmienia... przechodzi przez stronkę haslo.php i jak wraca do głównej to ciągle jestem zalogowany czyli w zmiennej jest id ![]() Już próbowałem jakoś tak usuwać bo gdzieś znalazłem UNSET($_SESSION[id]); ale też nic :/ Jezuuuuu... i jak zwykle sam sobie stwarzam takie głupie problemy które tylko zabierają dużo czasu :/ Problem już rozwiązany ![]() W pliku wyloguj.php nie dodałem seesion_start(); No więc nie mogło to działać ![]() Dzięki za pomoc |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 2 Dołączył: 25.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Odświeżę temat. W jednym pliku mam logowanie i wylogowywanie, wszystko na warunkach zależnych od $_GET, lecz niezależnie od tego czy warunek wylogowania jest spełniony czy nie, sesja jest niszczona :/ Czy ktoś może wie dlaczego tak się dzieję?
-------------------- Jeżeli czegoś się nie da zrobić,
daj to do zrobienia komuś kto o tym nie wie, na pewno to zrobi... |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 441 Pomógł: 71 Dołączył: 3.09.2007 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
Odświeżę temat. W jednym pliku mam logowanie i wylogowywanie, wszystko na warunkach zależnych od $_GET, lecz niezależnie od tego czy warunek wylogowania jest spełniony czy nie, sesja jest niszczona :/ Czy ktoś może wie dlaczego tak się dzieję? Pokaż kod to może ktoś pomoże -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 2 Dołączył: 25.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
warunek wykonywany niezależnie od tego czy $_GET['l'] jest równa 0 czy tez nie. -------------------- Jeżeli czegoś się nie da zrobić,
daj to do zrobienia komuś kto o tym nie wie, na pewno to zrobi... |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 1 Dołączył: 28.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Pokaż kod jak nadajesz wartość dla $_GET['l'] bo to co pokazałeś nic nie mówi.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 2 Dołączył: 25.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Poprzez link zawierający wartość tej zmiennej. Ale co to ma do rzeczy, skoro ten warunek się odpala nawet jak się nie nada wartości zmiennej $_GET['l']? Nigdzie fizycznie w kodzie nie przypisuje jej żadnej wartości, jedyna droga to kliknięcie linku.
-------------------- Jeżeli czegoś się nie da zrobić,
daj to do zrobienia komuś kto o tym nie wie, na pewno to zrobi... |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Zacznij od debuga tej zmiennej. Sprawdź czy w ogóle jest ustawiona, a jeśli tak to jaką wartością i jakim typem. Bo może się okazać, że gdzieś na tej linii coś się sypie. Debug to podstawa w tym wypadku bo inaczej niewiele się zdziała.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 1 Dołączył: 28.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
A, no tak, przecież to zmienna z GET'a (przysypiałem wczoraj to nie myślałem zbyt logicznie).
Przed tym IF'em daj sobie echo $_GET['l'] oraz IF, który wyświetla "OK" albo "NIC" jeśli isset zwraca true lub false. Spróbuj także pogrupować w nawiasy te warunki if'a, czyli:
EDIT: aha, no i jeszcze najlepiej przekonwertuj tą zmienną na typ liczbowy, bo może jest ona stringiem. Ten post edytował BigB 28.08.2009, 10:11:00 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 2 Dołączył: 25.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Zejdę z tematu na moment... Zdechł mi dysk, zmusił mnie do instalowania wszystkiego na nowo, i tak jakoś wpadłem na pomysł zainstalowania przy okazji nowszej wersji WAMP2 z PHP 5.3.0
![]() ![]() Czekam na HELP, bo nie mogę z tym normalnie pracować :/ Bo jeżeli nie idzie tego wyłączyć to zacznę inaczej pisać aby wszystko zaczynało się wstępnie od isset() co mi tylko zwiększy ilość kodu, ale trudno... Ten post edytował ptq 29.08.2009, 11:31:09 -------------------- Jeżeli czegoś się nie da zrobić,
daj to do zrobienia komuś kto o tym nie wie, na pewno to zrobi... |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat odpalam swój projekt a tu same UNDEFINED INDEX :/ od kiedy to PHP się czepia że jakaś zmienna nie została zainicjowana? error_reporting. Tak btw, coś kiepsko napisałeś, że nie sprawdzasz zmiennych ![]() -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 2 Dołączył: 25.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Wiesz, napisane jest dobrze, pełna kontrola, ale za mało warunków zagnieżdżonych
![]() Ja miałem tak:
A powinno być tak:
Oczywiście już wszystko w aktualnym projekcie zmieniłem ![]() Lecz musiałem troszkę nakombinować bo miałem kilka innych problemów. No i na php 5.3 już mi samo nie niszczy sesji omijając warunek ![]() Opiszę nowy problem ![]() W pliku core.php mam petlę wyszukującą plik ustawienia.php i ustalający aktualne położenie:
Wcześniej jak dałem require('../core.php') w pliku znajdującym się o jeden katalog głębiej od core.php to ta pętla ustawiała $folder_level="../"; czyli uruchamiając plik public_html/admin/index.php, dołączał plik public_html/core.php i ustalał że public_html/ustawienia.php znajduje się o katalog wcześniej od public_html/admin/index.php i wszystko było cacy. A teraz niezależnie od tego jak głęboko by się nie chował w katalogach plik dołączający core.php, i tak pokaże że $folder_level=""; :/ Byłem zmuszony brakiem idei cały katalog admina przenieść do głównego katalogu i "pozmieniac to i owo" aby trybiło ![]() -------------------- Jeżeli czegoś się nie da zrobić,
daj to do zrobienia komuś kto o tym nie wie, na pewno to zrobi... |
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Gadasz głupoty z tym zagnieżdżaniem warunków
![]() a ? Powiem Ci, że żadna. W drugim przypadku sprawdzasz czy ta zmienna jest. Jeśli tak to sprawdzasz czy jest równa 1 A w drugim? Sprawdzasz od razu czy jest ustawiona i równa 1. Z jednym małym "ale". W php działa jeden ciekawy mechanizm związany z AND. Sprawdzana jest zgodność z warunkiem każdego elementu składowego. Jeśli już pierwszy nie będzie prawidłowy, to nie jest już sprawdzany żaden kolejny. Wystarczy więc, że pierwszy będzie miał FALSE a drugi nawet nie zostanie sprawdzony bo według algebry 0 i cokolwiek automatycznie da 0 czyli FALSE. W przypadku więc nie ustawienia zmiennej $a nie dojdzie dla pierwszego przypadku (z && ) do sprawdzania zawartości tej zmiennej, czyli funkcjonalnie będzie to równe przypadkowi drugiemu ![]() Co zaś do drugiej części pytania to pewnie w kodzie jakiegoś pliku związanego z konfiguracją zmieniłeś coś ręcznie i system zgłupiał bo odnosi się do zmienionej zmiennej i opierając na tym dochodzi do wartości null, przez co w kodzie zwraca pustkę. -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 2 Dołączył: 25.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
W takim razie nie wiem dlaczego mając właśnie takie IFy gdzie wszystko mam w jednym warunku, wywala mi NOTICE że taka zmienna nie istnieje, nawet jak pierwszy w ifie jest test czy istnieje (isset) a potem czy jej wartość wynosi ileś tam
![]() Co do drugiego, wcześniej działało ustalanie zagłębienia, na serwerze zewnętrznym działa do teraz ![]() Tylko wszystko mi się posypało w momencie zainstalowania innej wersji WAMP2 ![]() Polecam dla osób mających chwilę i możliwości, zainstalowanie WAMP2i i sprawdzenie czy ich aplikacje nie wywalą żadnego błędu i czy będą działać w ogóle ![]() Bo z tego co się doczytałem, wszystko co ma zniknąć w PHP6, w PHP5.3 wywala NOTICE ![]() -------------------- Jeżeli czegoś się nie da zrobić,
daj to do zrobienia komuś kto o tym nie wie, na pewno to zrobi... |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 508 Pomógł: 75 Dołączył: 2.11.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
A jesteś pewien, że masz session_start i że katalog na serwerze dla sesji istnieje i ma chmod 0777?
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 2 Dołączył: 25.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Cała sprawa została wyjaśniona
![]() -------------------- Jeżeli czegoś się nie da zrobić,
daj to do zrobienia komuś kto o tym nie wie, na pewno to zrobi... |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 10:27 |