Просмотр страницы профиля - то, что видно, отличается в зависимости от идентификатора пользователя Сессия вопроса - PullRequest
2 голосов
/ 19 января 2012

У меня есть сайт, над которым я работаю. У меня есть система входа / регистрации и система профилей пользователей.

Когда пользователь входит в систему, он автоматически направляется на страницу своего профиля. У них есть возможность нажать на ссылку изменить профиль и отредактировать свои данные. Они также могут щелкнуть другую ссылку, чтобы вернуться к просмотру своего профиля.

В настоящее время это прекрасно работает.

Проблема, с которой я столкнулся, заключается в том, что у меня есть ссылка на панели навигации под названием «Список пользователей». Эта ссылка должна получить список всех текущих пользователей в базе данных, что она делает с uid = (соответствующий идентификатор пользователя #) в конце URL, однако, когда вы нажимаете на любую из этих ссылок, возвращается профиль, который она возвращает для имени вошедшего в систему пользователя, а не для имени, по которому они щелкнули.

Мне известно, что проблема вызвана моей функцией на странице profile.php, которая гласит:

<?php 

include('core/init.inc.php'); 

$user_info = fetch_user_info($_SESSION['uid']);

?>

Поскольку на странице профиля указывается использовать идентификатор сеанса, я понимаю, что при любом перенаправлении на страницу profile.php будет отображаться информация о зарегистрированных пользователях.

Итак, если я изменю эту функцию на $ _GET ['uid'] ', мои проблемы перевернутся. Я могу правильно просматривать профили для пользователей в списке пользователей, но мой вошедший в систему пользователь больше не может просматривать их профиль или редактировать его, так как нет вызова uid сеанса.

Итак, я думаю, мне интересно, как мне это исправить. Как вы отделяете профили, которые не для вошедшего в личность против их собственного индивидуального профиля? Пожалуйста, дайте мне знать, какой код вам нужно увидеть, и я буду рад опубликовать его.

1 Ответ

2 голосов
/ 19 января 2012

Вы можете сделать проверку. Если установлено значение $_GET['uid'], тогда извлекайте информацию о пользователе, используя эту переменную, в противном случае используйте переменную сеанса для извлечения информации о пользователе.

<?php 

include('core/init.inc.php');    
if (isset($_GET['uid']) && $_GET['uid'] !='')
{
   $user_info = fetch_user_info($_GET['uid']);
}
else
{
   $user_info = fetch_user_info($_SESSION['uid']);
}    
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...