Bonjour,
Voila je rencontre un petit problème de page blache une fois mon site web en ligne.
En effet après la soumission de mon formulaire je tombe sur une page planche qui n'affiche aucune erreurs.
Je suis sur un serveur mutualisé 1AND1 et je sais que c'est des erreurs de headers ou une espace dans le code php .
Je veux avoir l'affichage des Erreurs et corriger les erreurs .
NB : L'application est un peux vaste . j'ai supprimé dans tout le code les espace mai rien
Merci de m'aider
elle est ou ta page ? tu ne nous donne rien et sans code bha c'est pas facile de dire ce qu'il faut faire.
Voici ma function d'édition
public function vendeur_add($id= null) {
$d= array();
$d['mesimages'] = [];
$d['mesimages'] = $this->Post->Media->find('all',[
'conditions'=>['Media.ref_id'=>$id],
'order'=>['Media.id DESC']
]
);
if ($this->request->is('put') || $this->request->is('post')) {
$this->request->data['Post']['user_id'] = AuthComponent::user('id') ;
if($this->Post->save($this->request->data)){
$this->Session->setFlash('Enregistrement effectué avec success','notif');
$this->redirect(array('action'=>'index'));
}
}elseif ($id) {
$this->Post->id = $id;
$this->request->data = $this->Post->read();
}else{
$this->request->data = $this->Post->getDraft('Post');
$this->request->data['online'] = 0;
$id = $this->Post->id;
}
$d['souscategories'] = $this->Post->Souscategory->find('list',array('order'=>'Souscategory.name DESC'));
$d['id'] = $id;
$this->set($d);
}
Bonsoir, Au niveau de tes conditions tu vérifie si la requête est put ou post: si oui tu vérifies si ton enregistrement se fait bien si oui tu mets un message et tu rediriges vers l'action index (déjà ton redirect il faut le retourner: return $this->redirect(array('action'=>'index')); ); Ensuite le elseif($id) que je comprends pas puisque ta requête sera toujours un post ou un put donc cette condition ne sera jamais atteint, et le reste aussi.
le elseif($id) permet d'envoyer les donner à modifier les données trouvée grâce à l'id
en local tous marche très bien ....
NB : J'ai ajouter le return $this->redirect(array('action'=>'index')); ); mais toujours une page blanche .
merci de m'aider .
Ok, là je comprends mieux, je peux savoir quand a lieu la page blache, à l'appel de la page en get ou en post.
Merci kndeye pour l'interet que vous portez à ma question
Après les testes le problème se pose à la redirection car le
if($this->Post->save($this->request->data))
se passe très bien, le messafe flash aussi marche et c'est
return $this->redirect(array('action'=>'index'));
qui ne marche pas .
Bizzare, tu as essaiyé de mettre le controller même si c'est pas nécessaire? Sinon il y a une methode $this->setAction() qui redirige l’action courante vers une autre action du même controller.
Bonjour.
Si tu as désactivé le debug, tu devrais temporairement le réactiver et tu devrais aussi afficher les erreurs PHP, car dans l'immédiat ce n'est pas évident de t'aider si nous ne pouvons pas savoir quel genre d'erreur tu rencontres.
@kndeye: Il n'est pas du tout nécessaire de faire un return
pour la méthode redirect
.
Pour la méthode setAction
, je ne sais pas où tu l'as trouvé pour CakePHP 2, sur CakePHP 3 je l'ai déja vu, mais pas pour CakePHP 2.
@Lartak merci, je savais pas pour le redirect, moi je faisais tjr un return.
Pour setAction aussi c'est juste, c'est avec cake3, je crois que j'avais buggué sur son code je viens de remarqué cake2.