Yii Framework Forum: Yii::app()->User->Getid() - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Yii::app()->User->Getid() wywołanie Yii::app()->user->getId() w polu tekstowym Rate Topic: -----

#1 User is offline   Jarek 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 35
  • Joined: 06-May 13

Posted 04 September 2013 - 02:09 AM

Witam,

Probuję w widoku wywołać następujące wartości:

$form->hiddenField($model,'id_user',array('value'=>Yii::app()->user->getId()));

przy tworzeniu elementu pojawia się informacja że id_user nie może być puste, ok sprawdzam wartość
Yii::app()->user->getId() jest 3, z kolei w rules zmieniłem id_user na
array('id_user', 'safe'),

dodałem także:

public function beforeSave() {
$this->id_user = Yii::app()->user->getId();
return parent::beforeSave();
}

lecz nadal wartość id_user jest null.Jak ustawić wartość id_user z tablicy User,

Pozdrawiam
Jarek
0

#2 User is offline   Jarek 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 35
  • Joined: 06-May 13

Posted 04 September 2013 - 07:39 AM

zostawiłem w widoku:

echo $form->hiddenField($model,'id_user',array('value'=>Yii::app()->user->getId()));

a wywaliłem metode beforeSave i działa.
0

#3 User is offline   Thommee 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 14
  • Joined: 24-June 12
  • Location:Poznań, Poland

Posted 07 September 2013 - 05:17 AM

Twoje rozwiązanie jest niebezpieczne. Każdyu może podmienić id usera w formularzu.

Metoda beforeSave była ok.
Jeśli jej używasz to:
- w formularzu nie potrzebujesz przekazywać jako hidden id usera
- w formularzu nie potrzebujesz ustawiać tej włąściwości jako "safe" - bo nie przychodzi ona z zewnątrz
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users