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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Not Found
 
The requested URL /monapplizend/public/index/espaceetudiant was not found on this server.
alors voici mon code si vous voulez bien m'aider
index.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();
?>
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
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 ";
}
}
?>
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
 
<?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));
    }
}
?>
espaceetudiant.phtml
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>
merci d'avance