Каждому авторизованному - личный кабинет

Статус
Закрыто для дальнейших ответов.

kilmas

Member
Регистрация
28.01.2011
Сообщения
13
Здравствуйте, занялся темой написания сайта социальной сети. Движок устанавливать не хочу во-первых потому что хочу написать сам, во вторых в них нет того что надо и есть то что ненадо. И так я уже написал регистрацию, авторизацию, открытие сесии. Не пойму как осуществить замысел личных кабинетов, чтобы после авторизации человек попадал в свой кабинет, а другие только мог просматривать. Спасибо.
 

AngelGabriel

И имя мне - легион
Регистрация
23.11.2008
Сообщения
778
если на пхп я бы зделал так кабинет для всех один, имеется ввиду страничка генерирующая его одна а данные о пользователях разные, итак пользователь заходит на свою страничку в это время из базы делается выборка по его логину который содержится в сессии например SELECT * FROM users WHERE login='$_SESSION[login]' если логины совпали то разрешаем редактировать страничку если нет то только просматривать, можно еще несколько параметров сравнить для верности.
 

kilmas

Member
Регистрация
28.01.2011
Сообщения
13
да на пхп. то есть прошла страница авторизации.....

Код:
if ($myrow['pass']==$pass) {
    $_SESSION['login']=$myrow['login']; 
    $_SESSION['id']=$myrow['id'];
    echo "Вы успешно вошли на сайт! <a href='cabinet.php'>Перейти в кабинет</a>";
............


а в cabinet.php...........

Код:
<?php session_start();
$result = mysql_query ("SELECT * FROM users WHERE login='$_SESSION[login]'",$db);
$myrow = mysql_fetch_array ($result);

if (isset($_GET['login'])) {$login = $_GET['login'];}
if (!isset ($login)) {$login = 1;}

    if (empty($_SESSION['login']) or empty($_SESSION['id']))
    {   echo "Вы зашли в чужой кабинет"; Поля чужого кабинета....; }
    else     {   echo "Вы вошли в кабинет, как ".$_SESSION['login']."";  Поля своего кабинета    } ?>
....???



А как на сайтах осуществляется в браузерной строке номер авторизованного, например cabinet.php/349856 чтобы можно было просто ссылку на кого нибудь вывести
 

AngelGabriel

И имя мне - легион
Регистрация
23.11.2008
Сообщения
778
это называется чпу челеовеко подобные ссылки их можно cделать с помощью модуля апача mod_rewrit, сматри
Код:
echo "Вы успешно вошли на сайт! <a href='cabinet.php'>Перейти в кабинет</a>"
нужно зделать так
Код:
echo "Вы успешно вошли на сайт! <a href='cabinet.php?user=$_SESSION["login"]'>Перейти в кабинет</a>"
далее входим в кабинет
Код:
<?php
session_start();

$user = empty($_GET['user'])?"":$_GET['user'];

include "db.php"; // файл с конфигурацией подключения к бд

$query = "SELECT * FROM users WHERE login='$user'";
$result = mysql_query($query) || die("ошибка в запросе!!");
$myrow = mysql_fetch_array($result);

if ($myrow['login'] != $_SESSION[login]) {

 Разрешаем только просмотр!
} else {
  Даем ссылку на редактирование!
}
?>
учти $user никак не обробатываеться поетому sql иньекции пройдут на раз, как ее обработать ищи сам

чтобы можно было просто ссылку на кого нибудь вывести
<a href='cabinet.php?user=имя юзера'>имя юзера</a>

я в начале немного не верно написал в моих примерах не применяются чпу я просто написал как их можно зделать
 

kilmas

Member
Регистрация
28.01.2011
Сообщения
13
Спасибо большое, реализовать удалось!
 
Статус
Закрыто для дальнейших ответов.
Верх Низ