Bonsoir !
je débute avec zend framework et je trouve des problèmes avec mon petit exemple : je commence par une simple page d'authentification : index.php
j'utilise un controlleur IndexController.php, une vue index.phtml et un modèle formlogin.php, dans la page d'index , l'utilisateur doit taper son cin et son mot de passe , si ça marche, il sera redirigé vers la page espaceetudiant.phtml que j'ai deja crée avec une action espaceetudiantAction qui permet d'afficher un simple message
mais en exécutant, j'ai toujours le message d'erreur qui apparait :
alors voici mon code si vous voulez bien m'aider
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4Not Found The requested URL /monapplizend/public/index/espaceetudiant was not found on this server.
index.php
IndexController.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php // politique traitement des erreurs error_reporting(E_ALL|E_STRICT); ini_set('display_errors', 'on'); // mise en place des répertoires et chargement des classes ini_set('include_path' , ini_get('include_path'). ':../library'); ini_set('include_path' , ini_get('include_path'). ':../application/models'); set_include_path('.' . PATH_SEPARATOR . '../library' . PATH_SEPARATOR . '../application/models' . PATH_SEPARATOR . get_include_path()); include "Zend/Loader.php"; include "Zend/Layout.php"; include "Zend/Config.php"; // Chargement de la configuration Zend_Loader::loadClass("Zend_Config_Ini"); Zend_Loader::loadClass("Zend_Registry"); Zend_Loader::registerAutoload(); $config = new Zend_Config_Ini('../config.ini', 'general'); $registry = Zend_Registry::getInstance(); $registry->set('config', $config); // Mise en place du Factory Zend_Loader::loadClass("Zend_DB"); $db = Zend_Db::factory($config->db); //mise en place du Zend_Db_Table Zend_Loader::loadClass("Zend_Db_Table"); Zend_Db_Table::setDefaultAdapter($db); Zend_Loader::loadClass ('Zend_Controller_Front'); // setup controller $front = Zend_Controller_Front::getInstance(); $front->throwExceptions(true); $front->setControllerDirectory('../Application/Controllers'); Zend_Layout::startMvc(array('layoutPath'=>'../application/layouts')); // executer ! $front->dispatch(); ?>
formlogin.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php session_start(); class IndexController extends Zend_Controller_Action { public $db = null; public $cin=null ; function init () {Zend_Loader::loadClass('Zend_Db_Table'); Zend_Loader::loadClass('Zend_Db_Statement_PDO'); Zend_Loader::loadClass('Formlogin'); //Zend_Loader::loadClass('admin'); // Zend_Loader::loadClass('salle'); // Zend_Loader::loadClass('FullModel'); Zend_Loader::loadClass('Zend_Session_Namespace'); } function indexAction() { $this->view->title = "Passage d'authentification"; $form = new Formlogin(); $this->view->form = $form ; if ($this->_request->isPost()) { $formData = $this->_request->getPost(); if ($form->isValid($formData)) { //$etudiant=new etudiant(); $cin = $form->getValue('login'); $passe = $form->getValue('passe'); $config = new Zend_Config_Ini('../config.ini', 'general'); $registry = Zend_Registry::getInstance(); $registry->set('config', $config); // Mise en place du Factory Zend_Loader::loadClass("Zend_DB"); $db = Zend_Db::factory($config->db); $resulte = $db->query("SELECT * FROM etudiant WHERE cin='$cin'and passe='$passe'"); $rowse=$resulte->rowCount(); if ($rowse==1) { $_SESSION['login']=$cin; $_SESSION['type']="etudiant"; $this->_redirect('index/espaceetudiant'); } } else { $form->populate($formData); } } } function espaceetudiantAction() { $this->view->affichage = "Bonjour étudiant , ça marche "; } } ?>
espaceetudiant.phtml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php Zend_Loader::loadClass("Zend_Form"); class Formlogin extends Zend_Form { public function __construct($options = null) { Zend_Loader::loadClass("Zend_Form_Element_Hidden"); Zend_Loader::loadClass("Zend_Form_Element_Text"); Zend_Loader::loadClass("Zend_Form_Element_Submit"); Zend_Loader::loadClass("Zend_Form_Element_Password"); parent::__construct($options); $this->setName('mon formulaire'); //$this->setAction('index/check'); $login = new Zend_Form_Element_Text('login'); $login->setLabel('Login:') ->setRequired(true) ->addFilter('StripTags') ->addFilter('StringTrim') ->addValidator('NotEmpty'); $passe = new Zend_Form_Element_Password ('passe'); $passe->setLabel('Password:') ->setRequired(true) ->addFilter('StripTags') ->addFilter('StringTrim') ->addValidator('NotEmpty'); $submit = new Zend_Form_Element_Submit('Valider'); //$submit->setAttrib('numEtud', 'submitbutton'); $this->addElements(array($login,$passe,$submit)); } } ?>
merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8<html> <head> </head> <body> <p> <?php echo $this->affichage;?> </p> </body> </html>
Partager