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