2016-08-26 2 views
0

У меня есть окно регистрации на каждой странице, и когда пользователь Войти Стараюсь перенаправляют пользователя на той же странице, и она отлично работает до тех пор пока у меня есть переменная в URL, как http://www.mypage.com/post?id=1PHP перенаправление на одной странице после авторизации

Тогда я получаю уведомление об ошибке: Undefined индекс: идентификатор в ...

Я использую сеанс для отслеживания URL-адресов, как

$_SESSION['url'] = $_SERVER['REQUEST_URI'] 
$url = $_SESSION['url']; 
header("Location:".$url.""); 

Я использую $ _GET [ 'ID'] для получения данных из базы данных, и я знаю, в чем проблема, но я не знаю как его решить.

Если кто-то может указать мне в правильном направлении, я был бы очень признателен.

Обновление Вход в систему работает нормально, но я не могу извлечь данные из базы данных при входе пользователя в систему, поскольку переменная id пуста.

Я пытаюсь объяснить немного лучше, извините за мой бедный английский кстати. Когда пользователь нажимает на эту ссылку http://www.mypage.com/post?id=1, а затем пытается войти в систему. Но случается так, что я не могу получить данные из базы данных, используя $ _GET ['id'] beacuse, это пусто.

я получаю уведомление об ошибке: Undefined индекс: идентификатор в ...

+2

$ _GET ['whatsoever'] не проверяет, установлен ли sth или нет, он пытается вытащить его, а если не работает, вы получите пустую переменную. Поэтому используйте isset(), чтобы проверить, установлен ли $ _GET ['whatsoever'] –

+0

$ _GET ['id'] всегда пуст. Если я повторяю сеанс, это выглядит так: http://www.mypage.com/post.php – user1435083

+0

Примечание: Неопределенный индекс: id in ... Значит, ваш скрипт хочет использовать $ _GET ['id'], но он не найден. посмотрите на другие ответы для получения дополнительной информации :) –

ответ

-1

использовать этот код заголовка внутри действующего Логин состояния блока для перенаправления на той же странице.

header("Location:".$url."");die; 
+0

Каким образом вышеуказанный код отвечает на его вопрос? А что содержит '$ location'? –

+0

Он должен быть добавлен после проверки состояния входа в систему. –

0

Вы можете добавить id к URL-адресу. Например

$id = $_GET['post_id']; 
$_SESSION['url'] = $_SERVER['REQUEST_URI'] 
$url = $_SESSION['url']; 
header("Location:".$url."?post_id=".$id); 

UPDATE Вы также можете проверить, если post_id установлен или не подтвердить, если вы хотите, чтобы сцепить переменную URL-адрес или нет.

$_SESSION['url'] = $_SERVER['REQUEST_URI'] 
$url = $_SESSION['url']; 
if(isset($_GET['post_id']){ 
    $url='?post_id='.$_GET['post_id']; 
} 
header("Location:".$url."); 
+0

Так что я должен использовать другой $ url на каждой странице, которую у меня есть? Что делать, если у меня есть другая страница, например http://www.mypage.com/topic?id=1 – user1435083

+0

Да, если в URL есть несколько переменных, например http: //abc.or? Id = 1 & cat_id = 3. Вы можете перебрать переменную $ _GET и добавить в URL-адрес, который вы получаете в $ _SERVER ['REQUEST_URI'] –

+0

Когда пользователь нажимает на эту ссылку http://www.mypage.com/post?id=1, а затем пытается логин id = 1 ушел, и я получаю сообщение об ошибке. – user1435083

Смежные вопросы