Bonjour, j'ai un soucis sur le tuto de cake php jour 1 au bout de 1h12 min.

En effet, ma fonction " edit " ne fonctionne pas. Pourtant je copie comme tel le tuto.

Quand je clique sur envoyer, rien ne se passe, aucun changement dans la base de donnée. A part que apres le click, la barre affiche : admin/pages/edit/1?_method=PUT&data[Blog][name]=ma+première+page&data[Blog][slug]=ma-premiere-page&data[Blog][id]=1&data[Blog][text]=<p>Lorem+ips...

function admin_edit($id){
        if($this->request->is('post')){
            $this->Blog->save($this->request->data);
            $this->Session->setFlash('Le contenu a bien été mofifié','notif');
            $this->redirect(array('action'=>'index'));
        }
        $this->Blog->id = $id;
        $this->request->data = $this->Blog->read();
    }

Merci à vous.

6 réponses


Kamduras
Auteur
Réponse acceptée

J'avais mis le code entre des balises <form class="well"> pour rester dans le css bootstrap de twitter.

Dans ta condition rajoute :

if($this->request->is('post') || this->request->is('put'))
Kamduras
Auteur

Toujours le meme soucis, la requete ne semble pas se faire.

Par contre j'ai du rajouter $ au second this car j'avais un message d'erreur.

if($this->request->is('post') || $this->request->is('put'))

Oui autant pour moi faute de frappe. Quelle est l'erreur exactement ?

Kamduras
Auteur

En faite, j'ai trouvé, c'était le formulaire de " admin-edit.ctp " qui posait un probleme, merci à toi tout de meme ;).

Qu'est ce qui clochait ?