![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 50 Pomógł: 4 Dołączył: 15.09.2003 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
hej
mam problem, z którym już kilka godzin się głowię i nic. a mianowicie: mam sobie formularz zmiany hasła w cmsie. po sprawdzeniu wartości w javascript przesyła dane do pliku change.php w którym dokonywane są wszystkie zmiany w panelu admina. plik change.php wyłapuje poprzez switch dane z $_POST i kwalifikuje do odpowiedniego działania. jeżeli widzi, że jest to zmiana hasła wyrzuca dane do funkcji changePassword($starehaslo, $nowehaslo) - tam zakłada nową instancje klasy change_password, wysyła dane. po tym jak już wszystko przetworzy chciałbym aby zwracał headerem lokacje do początku, z ewentualnym ustawieniem statusu (powiodło się lub nie) bądź kodem błędu. wszystko fajnie, zwraca dane, ale w przeglądarce pojawia się adres pliku change.php a gdy wcisnę f5 pojawia się komunikat o ponownym przesłaniu formularza. gdziekolwiek bym nie wrzucił deklaracji lokacji (czy to w pliku change.php, czy w funkcji changePassword czy tez w klasie której instancje powołuje) robi to samo. kombinowałem z output buffering, ale nawet nie mam pojęcia jak w tym przypadku to zaimplementować. co ciekawe, jak wrzucę w lokacji inny plik (login.php - który jeżeli widzi, że w sesji jest admin, przekierowuje na główną stronę) i "podwójnie" przejdzie przez header to jest ok. nie chcę jednak kaszanić i obchodzić tego problemu w taki sposób czy ktoś wie jak to dobrze zrobić albo jak użyć poprawnie output buffering do tego? pozdrawiam |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 744 Pomógł: 118 Dołączył: 14.02.2009 Skąd: poziome Ostrzeżenie: (0%) ![]() ![]() |
a mozemy zobaczyc jak Ty to robisz? przyklad?
-------------------- śmieszne obrazki
Kryzys: Ser jem spleśniały, wino piję stare i samochód mam bez dachu.. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 50 Pomógł: 4 Dołączył: 15.09.2003 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
formularz:
dalej walidacja js dalej przechodzi przez submit do change:
dalej w functions
i klasa:
Ten post edytował Belze 22.10.2009, 10:12:20 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków ![]() |
@Belze: Proszę używać odpowiedniego kolorowania składni. Mamy kolorowanie dla języków HTML [HTML], PHP [PHP] i kupę innych, dostępnych w select'cie "Kolorowanie składni". Proszę zmienić poprawić swój post i używać kolorowania, ponieważ może to doprowadzić do usunięcia tematu.
pozdrawiam. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 50 Pomógł: 4 Dołączył: 15.09.2003 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
wybaczcie, często tu nie bywam, więc zapomniałem o takiej opcji, już poprawiłem
![]() edit: ok. podwojne przekierowanie nie dziala, nie mam pojecia czemu w przypadku jednego pliku zadziałało. czy ktoś ma jakiś pomysł? nie chcę stosować asynchronicznych zadan, bo za duzo zachodu dla takiej glupoty Ten post edytował Belze 22.10.2009, 23:00:01 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Jeśli nie wiesz tego, to sobie zdebuguj zmienne. Możliwe, że na etapie przekazywania ich do odpowiednich funkcji, nadpisujesz je w jakiś sposób innymi widocznymi dla reszty klasy/strony lub w jakiś sposób różnią sie one. Może zrób sobie jakiś plik logu, gdzie te informacje sobie będziesz zapisywał., wraz z wyjściem i errorami.
-------------------- 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
#7
|
|
![]() Grupa: Zarejestrowani Postów: 50 Pomógł: 4 Dołączył: 15.09.2003 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
szczerze powiedziawszy nie wiem jak do tego mogę się zabrać ;/
wiem, co zresztą jest oczywiste, że mimo powrócenia w lokacji do pliku który go wywołał nadal ma ustawione $_POST.. ktoś pomoże? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 214 Pomógł: 23 Dołączył: 26.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Nie wczytywałem się w treść, ale:
Jeśli masz ustawione POST a nie chcesz, to robisz $POST=null; i po problemie ![]() w Change.php przed zmianą header spróboj dać:
czy coś analogicznego, żeby sprawiło, że wsio działa ![]() -------------------- Pomogłem? Kliknij
![]() Dzięki! :D |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 50 Pomógł: 4 Dołączył: 15.09.2003 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
no niestety - to samo. po wrzuceniu phpinfo widze, ze wyzerowal POST, ale nadal mysli ze przeslal formularz, a request url jest change.php. czy jest mozliwosc aby zmusic go do porzucenia trybu przesylania danych.. sam juz niewiem..
wynullowalem wszystkie zmienne które odnoszą się do change.php i nic. jedyne referencje są w 'Environment'. czyli i z tego lipa ok mam. ale nie pojmuje czemu tak to mi wyświetlało.. trzeba było wywalić ADMIN.URL - czyli bezwzględny adres. a dziwne, bo header powinno się z nim wysyłać... |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.06.2025 - 21:45 |