je suis arrivé deux champs de saisie de texte simples dans un formulaire HTML:beforeSave() retourne une erreur
<input type="text" name="data[User][name]" id="data[User][name]">
<input type="text" name="data[User][pswd]" id="data[User][pswd]">
Les scripts pour l'action du contrôleur qui a capturé les données sont les suivantes:
function register(){
$temp = $this->data;
if(strlen($temp['User']['pswd'])>6) {
if ($this->User->save($this->data)) {
$this->Session->setFlash('Data was Saved');
}
}
} // this script works
Et dans le contrôleur de modèle, je suis arrivé ces lignes de codes:
function beforeSave() {
$raw = $this->data;
if(strlen($raw['User']['pswd'])>6){
md5($raw['User']['pswd']);
}
return true;
} // this script failed to work
les données ont été enregistrées dans la base de données avec succès mais wa s n'a subi aucun cryptage MD5.
Je pense qu'il doit y avoir quelques erreurs dans le script du modèle parce que j'ai vu quelques erreurs
flashé après l'enregistrement des données, mais l'écran qui a montré les erreurs
immédiatement actualisé en une seconde après que les données ont été sauvegardées avec succès
et je n'a pas pu voir le détail des erreurs qui ont causé le problème.
Pourriez-vous m'aider s'il vous plaît?
Modifié:
J'ai modifié le code de beforeSave, mais il ne fonctionne toujours pas:
function beforeSave() {
$raw = $this->data;
if(strlen($raw['User']['pswd'])>3){
$raw['User']['pswd'] = md5($raw['User']['pswd']);
}
return true;
}