У меня есть 3 файла, account.php , index.php и browser.php .
После успешного входа в систему account.php вызывает следующую функцию:
header('Location: index.php?m='.base64_encode('Signed in'));
На что index.php звонит:
header('Location: ./browser.php?m='.$_GET['m']);
И browser.php отображает:
if(isset($_GET['m']))
echo '<h3 style="color:green">'.base64_decode($_GET['m']).'</h3>';
Проблема в том, что заголовок ('Location: ...') вызывает index.php до browser.php удаляет что-либо после '?' . Каждый раз, когда URL отображает browser.php
Что происходит?
[EDIT]
Ну, проблема была исправлена какой-то ужасной логикой if else в index.php. Выполнение следующих действий не работает (всегда запускается последний заголовок) :
if(isset($_GET['m']))
header('Location: browser.php?m='.$_GET['m']);
if(isset($_GET['e']))
header('Location: browser.php?e='.$_GET['e']);
header('Location: browser.php');
Мне пришлось перестроить его так:
if(isset($_GET['m']))
header('Location: browser.php?m='.$_GET['m']);
else if(isset($_GET['e']))
header('Location: browser.php?e='.$_GET['e']);
else
header('Location: browser.php');
Но, честно говоря, все это не имеет значения, я должен использовать $ _SESSION для сохранения переменных в перенаправлениях. Спасибо всем!