beforeSave () вернул некоторую ошибку - PullRequest
0 голосов
/ 12 июня 2010

Я получил два простых текстовых поля ввода в форме HTML:

<input type="text" name="data[User][name]" id="data[User][name]">   
<input type="text" name="data[User][pswd]" id="data[User][pswd]">    

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

  function beforeSave() {
     $raw = $this->data;
 if(strlen($raw['User']['pswd'])>6){
     md5($raw['User']['pswd']);        
 }
 return true;
                         } // this script failed to work

Данные были успешно сохранены в базе данных, но не подвергались шифрованию MD5.Я думаю, что должны быть некоторые ошибки в скрипте модели, потому что я видел некоторые ошибкимигал после сохранения данных, но на экране отображались ошибкинемедленно обновляется через секунду после успешного сохранения данныхи я не мог видеть детали ошибок, которые вызвали проблему.

Не могли бы вы мне помочь, пожалуйста?

Отредактировано:

Я изменил код beforeSave, но он все равно не работает:

function beforeSave() {
     $raw = $this->data;
 if(strlen($raw['User']['pswd'])>3){
     $raw['User']['pswd'] = md5($raw['User']['pswd']);      
 }
 return true;
                         }

1 Ответ

2 голосов
/ 12 июня 2010

$raw является локальной переменной и, следовательно, не существует вне метода beforeSave. В зависимости от вашего варианта использования вы можете просто переопределить значение, предоставленное пользователем:

$this->data['User']['pswd'] = md5($raw['User']['pswd']);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...