как я хочу, чтобы идентификатор пользователя стал статичным - PullRequest
0 голосов
/ 10 декабря 2010

Я довольно новичок в CakePHP, и я хочу знать, как статически идентифицировать идентификатор в раскрывающемся списке или списке.Я сделал скрытый, но его не войти в базу данных.Это моя кодировка:

Это в контроллере

function add() {
  if (!empty($this->data)) {
   $this->Post->create();
   if ($this->Post->save($this->data)) {
    $this->Session->setFlash(__('The post has been saved', true));
    $this->redirect(array('action' => 'index'));
   } else {
    $this->Session->setFlash(__('The post could not be saved. Please, try again.', true));
   }
  }
  $users = $this->Post->User->find('list');
  $this->set(compact('users'));
  $this->set('userid',$this->Auth->user('id'));
 }

эта кодировка находится в ctp

<?php
  echo $this->Form->input('user_id');
?>

1 Ответ

2 голосов
/ 10 декабря 2010

Лучший способ - вообще не отправлять идентификатор пользователя в браузер и обратно, так как это открывает возможность подделки форм и нарушений безопасности / неверных результатов.Просто введите идентификатор пользователя в данные перед сохранением:

function add() {
    if (!empty($this->data)) {
        $this->Post->create();

        // setting user id
        $this->data['Post']['user_id'] = $this->Auth->user('id');

        if ($this->Post->save($this->data)) {
            $this->Session->setFlash(__('The post has been saved', true));
            $this->redirect(array('action' => 'index'));
        } else {
            $this->Session->setFlash(__('The post could not be saved. Please, try again.', true));
        }
    }

    $users = $this->Post->User->find('list');
    $this->set(compact('users'));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...