j'ai mis en place le formulaire pour l'ajout de commentaire d'apres le tuto:
le commentaire s'enregistre mais l'id du post reste à 0..
je tourne le pb dans tout les sens mais je trouve pas
si vous pouvez m'aider... merci
voila le code
le formulaire dans la vue:
<?php
echo $form->create('Comment',array('url'=>array('controller'=>'posts','action'=>'view',$a'Post']'id'])));
echo $form->input('pseudo');
echo $form->input('mail');
echo $form->input('contenu');
echo $form->input('post_id',array('type'=>'hidden','value'=>$a'Post']'id']));
echo $form->end('ajouter'); ?>
la fonction dans le controller:
function view($id) {
if(!empty($this->data)){
if($this->Comment->validates($this->data)){
$this->Session->setFlash('Votre commentaire a bien été posté');
$this->Comment->save($this->data);
}
else{
$this->Session->setFlash('Merci de valider vos champs');
$this->validateErrors($this->Comment);
}
}
$s=$this->Post->find('first',array(
'conditions'=>array('Post.id'=>$id)
));
$this->set('a',$s);
}
et le model:
class comment extends AppModel{
var $name = 'Comment';
var $belongsTo='Post';
var $validate=array(
'mail'=>'email',
'pseudo'=>array(
'alphanumeric'=>array(
'rule'=>"alphanumeric",
'message'=>'pseudo non valide'
),
'between'=>array(
'rule'=>array('between',3,15)
)
)
);
function beforeSave(){
App::import('Sanitize');
$this->data'Comment']'contenu']=Sanitize::html($this->data'Comment']'contenu'],true);
return true;
}
}
merci pour ton aide,
je crois que j'ai trouvé mon erreur, une erreur bete de debutante, je n'avais pas defini category_id dans le array fields de paginate
en tout cas désormais tout fonctionne !
merci
Pas de quoi ;) valide ta question qu'elle aille dans les problèmes résolus. Bon courage pour la suite !