blacknightwolf
@blacknightwolf

Почему не читает GET-параметр?

На сайте пока есть несколько разделов. В profile.php?id=123 юзер попадает после успешной авторизации (по сессии). По ссылке profile.php?id=123 юзер может смотреть профиль любых других юзеров (данные достаем с помощью запроса к БД, отсортировав по $id.) Например, прописав в адресной строке ?id=1234. Читает он вот по такому коду:
include 'database.php';
if (isset($_GET['id'])) {
    $id = $_GET['id'];
	$url = "profile.php?id=$id";
	parse_url($url);
}

То есть на странице profile.php все хорошо. Но вот в других разделах сайта $_GET уже не читается.
Допустим, что пользователь решил просмотреть друзей другого пользователя. С основной страницы он перешел на friends.php?friends=$id. Перейдя на эту страницу в адресной строке стоит нужный $id (так как на странице profile.php?id=$id id успешно читается). Но вот при попытке прочитать $id на самой странице friends.php?friends=$id выдает пустой запрос. Код идентичен:
include 'database.php';
if (isset($_GET['id'])) {
    $id = $_GET['id'];
	$url = "friends.php?friends=$id";
	parse_url($url);
}

Почему так происходит? Обе страницы с одинаковым кодом, session_start() прописаны, соединение с БД есть, но $_GET['id'] на других страницах прочитать не может. Заранее спасибо за ответ.
  • Вопрос задан
  • 424 просмотра
Решения вопроса 1
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
friends.php?friends=$id
Потому что у вас нет параметра id
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы