Witam mam problem,
napisałem stronkę z systemem logowania. Przekierowania między stronkami odbywają się za pomocą case. Za pomocą formularzy gromadzę dane. Po poprawnym zapisie danych chciałbym by stronka przekierowała się do innego formularza. Ale mam problem w tym -.-
Już śpieszę z wyjaśnieniem problemu:
1. Po poprawnym zalogowaniu zostajemy przeniesieni wlasnie headerem do strony glowna.php - tutaj header działa :-)
2. Wybieramy z menu np. Formularz link do przeniesienia wygląda następująco: glowna.php?link=form.php
Czyli link ponownie kieruje się na stronę główna gdzie sprawdzam zmienną $_GET["link"]. Jak ma wartość "form.php" to includuje sobie odpowiedni plik z zawartością co ma się pojawić w contencie w tym przypadku formularz.
3. Problem pojawia się gdy ktoś wyśle ten formularz, ja sprawdzę, że wartości są poprawne i chce przenieść użytkownika do następnego formularza czyli robię header("Location: glowna.php?link=form2.php");
Wtedy znow sprawdzam na glowna.php wartosc zmiennej $_GET["link"] itd ...
Niestety nie działa to! Komunikat, że powiodło się zapisywanie wyświetla się ale samo przeniesienie nie działa. Nie działa rówieniż przeniesienie np. na Google czy gdziekolwiek. Zawsze ten sam błąd:
Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\xxx\glowna.php:477) in D:\xampp\htdocs\xxx\form\zapisz.php on line 91
Szukałem rozwiązania na stackoverflow czy gdziekolwiek po prostu i nie mogę znaleźć. To się gryzie coś z sesją?
Coś takiego też nie pomaga:
$home_url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/home';
header('Location: ' . $home_url);
Proszę o pokierowanie o co tu może chodzić?
Z góry wielkie dzięki.