Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 01 дек 2020, 16:58

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: profile
СообщениеДобавлено: 09 май 2012, 22:15 
Не в сети
Новичок

Зарегистрирован: 28 апр 2012, 23:49
Сообщения: 14
Моя проблема была в том что кохана была 3.2, а сайт на 3.1. И все заработало. Я хотела изменить профиль, добавив изменение пароля, не получается, хотя логин, меил, имя меняет,если временно отключить паспорт. Не могли бы вы помочь.

public function action_profile() {
if (isset($_POST['submit'])) {
$users = ORM::factory('user');

try {
$users->where('id', '=', $this->user->id)
->find()
->update_user($_POST, array(
'username',
'first_name',
'password',
'email',
));

$this->request->redirect('account/profile');
}
catch (ORM_Validation_Exception $e) {
$errors = $e->errors('auth');
}
}

$content = View::factory('index/account/v_account_profile')
->bind('user', $this->user)
->bind('errors', $errors);

// Выводим в шаблон
$this->template->title = 'Профиль';
$this->template->page_title = 'Профиль';
$this->template->block_center = array($content);
}


<?=Form::open('account/profile')?>
<table width="300" cellspacing="5">
<tr>
<td ><?=Form::label('username', 'Логин')?>:</td>
<td><?=Form::input('username', $user->username, array('size' => 30))?></td>
</tr>
<tr>
<td ><?=Form::label('first_name', 'ФИО')?>:</td>
<td><?=Form::input('first_name', $user->first_name, array('size' => 30))?></td>
</tr>
<tr>
<td ><?=Form::label('email', 'Email')?>:</td>
<td><?=Form::input('email', $user->email, array('size' => 30))?></td>
</tr>
<tr>
<td valign="top" ><?//=Form::label('password', 'Пароль')?>:</td>
<td><?=Form::password('password', $user->password, array('size' => 30))?></td>
</tr>
<tr>
<td colspan="2" align="center"><?=Form::submit('submit', 'Сохранить')?></td>
</tr>
</table>
<?=Form::close()?>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AppServ
СообщениеДобавлено: 09 май 2012, 23:46 
Не в сети
Бывалый

Зарегистрирован: 16 апр 2012, 19:44
Сообщения: 113
А какая ошибка вываливается?
Скорее всего проблема в том, что вы передаете для сменны только password, а надо еще и передать passowrd_confirm. т.е. попробуйте добавить в форму еще один инпут
Код:
<td valign="top" ><?//=Form::label('password_confirm', 'Подтверждение пароля')?>:</td> 
<td><?=Form::password('password_confirm', $user->password, array('size' => 30))?></td>


скорее всего заработает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AppServ
СообщениеДобавлено: 10 май 2012, 00:01 
Не в сети
Новичок

Зарегистрирован: 28 апр 2012, 23:49
Сообщения: 14
Я сделала passowrd_confirm, выдало ошибки.

Код:
Kohana_Exception [ 0 ]: The password_confirm property does not exist in the Model_User class
MODPATH\orm\classes\kohana\orm.php [ 682 ]
677
678          return $model->where($col, '=', $val);
679       }
680       else
681       {
682          throw new Kohana_Exception('The :property property does not exist in the :class class',
683             array(':property' => $column, ':class' => get_class($this)));
684       }
685    }
686
687    /**
APPPATH\views\index\account\v_account_profile.php [ 30 ] » Kohana_ORM->__get(arguments)
SYSPATH\classes\kohana\view.php [ 61 ] » include(arguments)
SYSPATH\classes\kohana\view.php [ 343 ] » Kohana_View::capture(arguments)
SYSPATH\classes\kohana\view.php [ 228 ] » Kohana_View->render()
APPPATH\views\index\v_base.php [ 50 ] » Kohana_View->__toString()
SYSPATH\classes\kohana\view.php [ 61 ] » include(arguments)
SYSPATH\classes\kohana\view.php [ 343 ] » Kohana_View::capture(arguments)
SYSPATH\classes\kohana\controller\template.php [ 44 ] » Kohana_View->render()
{PHP internal call} » Kohana_Controller_Template->after()
SYSPATH\classes\kohana\request\client\internal.php [ 135 ] » ReflectionMethod->invoke(arguments)
SYSPATH\classes\kohana\request.php [ 1135 ] » Kohana_Request_Client_Internal->execute(arguments)
DOCROOT\index.php [ 111 ] » Kohana_Request->execute()


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AppServ
СообщениеДобавлено: 10 май 2012, 00:20 
Не в сети
Бывалый

Зарегистрирован: 16 апр 2012, 19:44
Сообщения: 113
ну так это все из-за невнимательности )))

не passowrd_confirm, а password_confirm


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AppServ
СообщениеДобавлено: 10 май 2012, 00:30 
Не в сети
Новичок

Зарегистрирован: 28 апр 2012, 23:49
Сообщения: 14
В программе я правильно скопировала, из регистрационного файла который работает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AppServ
СообщениеДобавлено: 10 май 2012, 12:09 
Не в сети
Новичок

Зарегистрирован: 28 апр 2012, 23:49
Сообщения: 14
Если вам интересно как я исправила.

Код:
 <tr>
        <td ><?=Form::label('password', 'Пароль')?>:</td>
        <td><?=Form::password('password', $data['password'], array('size' => 30))?></td>
    </tr>
     <tr>
        <td ><?=Form::label('password_confirm', 'Повторить пароль')?>:</td>
        <td><?=Form::password('password_confirm', $data['password_confirm'], array('size' => 30))?></td>
    </tr>



Код:
public function action_profile() {
        if (isset($_POST['submit'])) {   
            $data = Arr::extract($_POST, array('username', 'first_name', 'password', 'password_confirm', 'email'));
                    $users = ORM::factory('user');

                    try {
                        $users->where('id', '=', $this->user->id)
                                ->find()
                                ->update_user($_POST, array(
                                   'username',
                                   'first_name',
                                   'password',
                                   'email',
                                ));

                        $this->request->redirect('account/profile');
                    }
                    catch (ORM_Validation_Exception $e) {
                        $errors = $e->errors('auth');
                    }
                }

        $content = View::factory('index/account/v_account_profile')
                        ->bind('user', $this->user)
                        ->bind('data', $data)
                        ->bind('errors', $errors);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AppServ
СообщениеДобавлено: 13 май 2012, 15:33 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
Обрамляйте пожалуйста код в тег code. Трудно читать.

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AppServ
СообщениеДобавлено: 05 июн 2012, 03:17 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 05 июн 2012, 03:08
Сообщения: 213
Наталь писал(а):
Здравствуйте.
Я прочла в интернете что AppServ лучше Denwer.

Попробуйте http://open-server.ru
Я уже месяца 3 на нем сижу (тоже подсказали), это лучшее пока, что пробовал, все удобно понятно и много чего есть. Просто класс!
Автор обновляет его и совершенствует. В общем, думаю, не забросит проект, учитывая, что проект стартовал 1 августа 2010, а я только недавно узнал о нем :)

_________________
http://de-en.info (работает на Kohana 3.3)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу Пред.  1, 2, 3

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group