Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > MVC
MVC Forum de support sur le développement d'applications de type modèle-vue-contrôleur avec Zend Framework ainsi que vos questions sur les plugins, les helpers etc. Avant de poster -> Cours MVC, FAQ ZF Controller
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/09/2008, 18h06   #1
 
Inscription : mai 2007
Messages : 304
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 304
Points : -10
Points : -10
Par défaut Tutoriel MVC : Action "supprimer" does not exist

Bonjour a tous ,

j'ai voir un erreur lorsque je click sur le lien de supprimer le tutoriel de Rob Allen (approche MVC):

Fatal error: Uncaught exception 'Zend_Controller_Action_Exception' with message 'Action "supprimer" does not exist and was not trapped in __call()' in C:\xampp
aider mois svp
manjava est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2008, 18h18   #2
Expert Confirmé
 
Avatar de Eusebe
 
Inscription : mars 2006
Messages : 1 989
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : mars 2006
Messages : 1 989
Points : 3 606
Points : 3 606
Bonjour,

est-ce que tu as bien une méthode 'supprimerAction' (avec cette casse) dans ton fichier IndexController.php ?
Eusebe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2008, 19h17   #3
 
Inscription : mai 2007
Messages : 304
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 304
Points : -10
Points : -10
Merci
oui j'ai une fonction function supprimerAction() dans le IndexController.php

je sais pas d'ou vient le probleme

merci d'avance
manjava est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2008, 19h33   #4
Expert Confirmé
 
Avatar de Eusebe
 
Inscription : mars 2006
Messages : 1 989
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : mars 2006
Messages : 1 989
Points : 3 606
Points : 3 606
Pour les autres actions, ça fonctionne ?

Tu peux nous mettre ton IndexController.php ?
Eusebe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2008, 00h40   #5
 
Inscription : mai 2007
Messages : 304
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 304
Points : -10
Points : -10
Bonsoir,
pour ajouter ça marche mais pour les autres non

voila IndexController:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?php 
class IndexController extends Zend_Controller_Action
{
function indexAction()
{
$this->view->title = "Mes albums";
$album = new Albums();
$this->view->albums = $album->fetchAll();
}
function ajouterAction()
{
	$this->view->title = "Ajouter un nouvel album";
	$form = new FormulaireAlbum();
	$form->submit->setLabel('Ajouter');
	$this->view->form = $form;
	if ($this->_request->isPost()) 
{
	$formData = $this->_request->getPost();
	if ($form->isValid($formData)) 
{
	$albums = new Albums();
	$row = $albums->createRow();
	$row->artist = $form->getValue('artist');
	$row->title = $form->getValue('title');
	$row->save();
	$this->_redirect('/');
} else 
{
	$form->populate($formData);
}
}
}
 
 
 
 
 
 
}
function modifierAction()
	{
		$this->view->title = "Modifier un album";
 
		$form = new FormulaireAlbum();
		$form->submit->setLabel('Enregistrer');
		$this->view->form = $form;
		if ($this->_request->isPost()) 
	{
		$formData = $this->_request->getPost();
		if ($form->isValid($formData)) 
	{
		$albums = new Albums();
		$id = (int)$form->getValue('id');
		$row = $albums->fetchRow('id='.$id);
		$row->artist = $form->getValue('artist');
		$row->title = $form->getValue('title');
		$row->save();
		$this->_redirect('/');
	} else 
	{
		$form->populate($formData);
	}
	} else 
	{
	// L'id de l'album est attendu dans $params['id']
		$id = (int)$this->_request->getParam('id', 0);
		if ($id > 0) 
	{
		$albums = new Albums();
		$album = $albums->fetchRow('id='.$id);
		$form->populate($album->toArray());
	}
	}
 
	}
function supprimerAction()
	{
		$this->view->title = "Supprimer un album";
 
		if ($this->_request->isPost()) 
	{
		$id = (int)$this->_request->getPost('id');
		$del = $this->_request->getPost('del');
		if ($del == 'Oui' && $id > 0) 
	{
		$albums = new Albums();
		$where = 'id = ' . $id;
		$albums->delete($where);
	}
		$this->_redirect('/');
	} 
		else 
	{
		$id = (int)$this->_request->getParam('id');
		if ($id > 0) {
		$albums = new Albums();
		$this->view->album = $albums->fetchRow('id='.$id);
	}
	}
 
 
}
Merci beaucoup de m'aider
manjava est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2008, 09h23   #6
Expert Confirmé
 
Avatar de Eusebe
 
Inscription : mars 2006
Messages : 1 989
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : mars 2006
Messages : 1 989
Points : 3 606
Points : 3 606
Bonjour,

Si tu indentes correctement ton code (indenter après chaque ouverture d'accolade et le contraire à chaque fermeture), tu verras que les fonctions modifierAction et supprimerAction ne sont pas dans la classe IndexController

Il y a une fermeture d'accolade en trop à la fin de ta méthode ajouterAction.
Eusebe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2008, 16h49   #7
 
Inscription : mai 2007
Messages : 304
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 304
Points : -10
Points : -10
Merci beaucoup
manjava est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2011, 04h39   #8
Invité de passage
 
Femme
Inscription : avril 2011
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : Maroc

Informations forums :
Inscription : avril 2011
Messages : 1
Points : 1
Points : 1
slt ts cv??? bn j ai un ptit prblm jai cree l action modifier et supprimer pr la suppression elle n fonctionne po et lorsque je veu modifier une ligne il me donne un formulaire vide au llieu d'un formulaire rempli

voila le code d TableauController

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
 
 
<?php
require_once(dirname(__FILE__)."/../forms/tableau.php");
require_once(dirname(__FILE__)."/../models/DbTable/tableau.php"); 
 
class TableauController extends Zend_Controller_Action
{
 public function modifierAction()
    {
 
	$id=(int) $this->_getParam('id');  
    $form = new Form_Tableau();
$form->submit->setLabel('enregistrer');
    $this->view->form = $form;
      if ($this->getRequest()->isPost()) {
        $formData = $this->getRequest()->getPost();
        if ($form->isValid($formData)) {
		$table=new model_dbtable_tableau();
		$id= $form->getValue('id');
            $matiere = $form->getValue('matiere');
            $classe = $form->getValue('classe');
			$pour_le = $form->getValue('pour_le');
		    $de = $form->getValue('de');
			$a = $form->getValue('a');
			$faire = $form->getValue('faire');
			$remarque = $form->getValue('remarque');
			$tableau =new Model_DbTable_Tableau();
 
$tableau->modifierTableau($id, $matiere, $classe, $pour_le, $de, $a, $faire, $remarque);
 
		    $this->_redirect("Tableaux/liste");
 
        } else {
            $form->populate($formData);
        }
    } else {
        $id = $this->_getParam('id', 0);
        if ($id > 0) {
            $tableau = new Model_DbTable_Tableau();
	     $table=$tableau->fetchRow('id='.$id);
            $form->populate($tableau->obtenirTableau($id));
        }
    }
 }
 
 
 public function supprimerAction()
    {
 
        if ($this->getRequest()->isPost()) {
 
        $supprimer = $this->getRequest()->getPost('supprimer');
        if ($supprimer == 'Oui') {
            $id = $this->getRequest()->getPost('id');
            $tableau = new Model_DbTable_Tableau();
            $tableau->supprimerTableau($id);
        }
 
        $this->_redirect("Tableaux/liste");
    } else {
        $id = $this->_getParam('id', 0);
        $tableau= new Model_DbTable_Tableau();
        $this->view->tableau = $tableau->obtenirTableau($id);
    }
 
    }

c le code d models/dbTable/tableau

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
 
 
<?php
 
class Model_DbTable_Tableau extends Zend_Db_Table
 
{
protected $_name='tableau';
public function addTableau($matiere, $classe, $pour_le, $de, $a, $faire, $remarque)
	{
		$data = array(
				'matiere'=>$matiere, 							 
				'classe'=>$classe,
				'pour_le'=>$pour_le,
				'de'=>$de,
				'a'=>$a,
				'faire'=>$faire,
                                 'remarque'=>$remarque);							 	
 
 
 
		return $this->insert($data);
 }
 
 
 
 
	 public function modifierTableau($id, $matiere, $classe, $pour_le, $de, $a, $faire, $remarque)
    {
        $data = array(
            'matiere'=>$matiere, 							 
				'classe'=>$classe,
				'pour_le'=>$pour_le,
				'de'=>$de,
				'a'=>$a,
				'faire'=>$faire,
				'remarque'=>$remarque
        );
        $this->update($data, 'id = '. (int)$id);
    }
 
    public function supprimerTableau($id)
    {
        $this->delete('id =' . (int)$id);
    }
 
public function obtenirTableau($id)
    {
        $id = (int)$id;
        $row = $this->fetchRow('id = ' . (int)$id);
        if (!$row) {
            throw new Exception("Impossible de trouver l'enregistrement $id");
        }
        return $row->toArray();
    }
 
 }
aidezzzzzzzzz moi svp
et mrc d avance
justemee est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 17h18   #9
Invité de passage
 
fatimazahra ifolki
Inscription : décembre 2010
Messages : 3
Détails du profil
Informations personnelles :
Nom : fatimazahra ifolki

Informations forums :
Inscription : décembre 2010
Messages : 3
Points : 1
Points : 1
moi aussi j le même problème
ifolkiii est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h27.


 
 
 
 
Partenaires

Hébergement Web