PHP MySQL показывает профили других пользователей, использующих ту же страницу, что и вошедший в систему пользователь?
Так что в настоящее время на моем веб-сайте я делаю вещи простым способом и использую одну и ту же страницу для каждого профиля пользователя, просто используя код $_SESSION для отображения различной пользовательской информации в зависимости от текущего пользователя, вошедшего в систему.
У меня вопрос, как бы я вывести информацию других пользователей? Скажем, если я искал участников, щелкнул имя, которое должно вызвать их профиль, как я мог бы заставить это работать, если у меня нет отдельных страниц для каждого участника? Есть идеи?
2 ответа
Мое решение простое.
Допустим, из того, что вы сказали, вы сохраняете зарегистрированный идентификатор пользователя на $_SESSION и, таким образом, вы получаете и используете этот идентификатор пользователя, когда посещаете страницу, чтобы получить информацию о пользователе из базы данных, а затем отобразить ее.
Теперь вот что я думаю. Просто сделайте простое утверждение IF.
$uid = (isset($_GET['uid'])) ? $_GET['uid'] : $_SESSION['uid'];
$query = "SELECT * FROM users WHERE id = $uid";
Он получает идентификатор из URL, если он установлен, если нет, используйте идентификатор из сеанса.
// this is an example of a URL with uid = 12.
http://yourwebsite.com/profile.php?uid=12
Так, что это делает, даже если пользователь вошел в систему, если он / она посещает страницу с uid = n
он / она увидит чужой профиль.
И так, вы должны добавить / иметь uid = n
на каждой ссылке в вашем списке пользователей.
ПРИМЕЧАНИЕ. Это простой и быстрый пример, этот код не так хорош, как есть. (т.е. безопасность и проверка)
Используйте переменную post или get идентификатора участника для отображения общей "общедоступной" страницы участника для каждого участника, а затем отображайте только специальные "приватные" функции для пользователя, который имеет соответствующий идентификатор сеанса для этого идентификатора участника. Вам придется проверять идентификатор участника по идентификатору сеанса каждый раз, когда вы собираетесь повторить что-то "личное". Когда он просматривает других участников, идентификатор не совпадает, поэтому он будет видеть только их "общедоступную" страницу и наоборот.