2011-02-05 2 views
1

Как мы создаем страницу профиля, которая выводит данные пользователя? и эта страница может быть просмотрена только пользователем, который вошел в систему. Это что-то вроде того, когда мы переходим на страницу нашего профиля и просматриваем наше собственное имя пользователя, пароль, адрес электронной почты, адрес .... Тогда мы можем отредактировать его сами. Это, конечно, не может быть отредактировано другими пользователями.CakePHP: Как создать страницу профиля пользователя

Я смущен необходимостью таблицы профиля, теперь я думаю, что нам это не понадобится? мы можем просто заполнить данные с помощью некоторой логики PHP на странице, которую мы создаем как profile.ctp?

Это сбивает с толку, я последовал за этим http://book.cakephp.org/#!/view/1041/hasOne и создал таблицу профилей с некоторыми полями, которые имеет таблица моих пользователей, а затем с помощью внешнего ключа user_id. Я проверил модель пользователя и профиля, которые правильно определены в отношении. У меня это в модели профиля:

var $belongsTo = array(
     'User' => array(
      'className' => 'User', 
      'foreignKey' => 'user_id', 
      'conditions' => '', 
      'fields' => '', 
      'order' => '' 
     ) 

и это в модели пользователя:

var $hasOne = 'Profile'; 

Как я просматриваю к моему профилю/индекс есть имена полей без каких-либо записей. Это пустой набор. Я думал, что он должен извлекать данные из таблицы пользователей?

Каков наилучший способ создать страницу профиля для существующих пользователей .. и предстоящие регистрации?

ответ

3

Вам не нужна таблица профилей (если у вас уже есть таблица пользователей со своей информацией).

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

Конечно, есть много проблем с безопасностью, которые вы должны были бы учитывать, если вы думаете сделать это общедоступным веб-сайтом.

+0

Да, спасибо, что это было именно то, что я думал делать через час, пытаясь выяснить таблицу профилей, как объяснялось в моем вопросе. но, как вы сказали, безопасность .. как это повлияет? предполагая, что я делаю его общедоступным веб-сайтом ... (знаете ли вы некоторые скрипты, которые уже работают с сопоставлением идентификатора пользователя, а затем отображают его как свою страницу профиля?), я знаю, что это просто, просто интересно, знаете ли вы, ссылки/что-то в виду, поэтому я могу сослаться ..) спасибо. – woel

+0

и мне интересно, какая ссылка я разместил в своем вопросе? это выглядит хорошо .. Я решил использовать его ... хотя теперь я думаю, что это не так логично. Например, учитывая, что у нас есть таблица пользователей и профили. Очень многообещающе. , , – woel

+0

Я собираюсь пойти с тем, что вы предложили. спасибо, и не могли бы вы объяснить, почему безопасность? Я использую AUTH для проверки .. в чем проблема с этим? только пользователь может редактировать свои собственные вещи. – woel

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