bonsoir,
j'ai cette erreur :
je vient de réaliser la partie authentification en suivant un tuto ainsi j'ai un controleur "AuthController.php" en voici un extrait que je pense a une relation avec mon erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Fatal error: Cannot use object of type stdClass as array in C:\Program Files\EasyPHP 3.0\www\Farkess\core\modules\search\controllers\MyControllerPluginAuth.php on line 54
ensuite j'ai réaliser un contrôleur d'accès ACL du cout j'ai deux nouvelle classes "MyAclIni.php" et "MyControllerPluginAuth.php" que je ne savais pas ou mettre donc je les est mis dans le dossier controller de mon module par défaut (déjà car c'est ce module qui lance l'authentification) bref voila un extrait du code de la classe "MyControllerPluginAuth.php" la ou j'ai l'erreur :
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 function loginAction() { $this->view->message = ''; $this->view->title = "Farkess - Authentification"; $form = new FormulaireAdminFarkess(); $this->view->form = $form; $this->view->modname='fadmin'; if ($this->_request->isPost()) { // collect the data from the user Zend_Loader::loadClass('Zend_Filter_StripTags'); $f = new Zend_Filter_StripTags(); $username = $f->filter($this->_request->getPost('login')); $password = $f->filter($this->_request->getPost('password')); if (empty($username)) { $this->view->message = 'Please provide a username.'; } else { // setup Zend_Auth adapter for a database table Zend_Loader::loadClass('Zend_Auth_Adapter_DbTable'); $db = Zend_Registry::get('publicdb'); $authAdapter = new Zend_Auth_Adapter_DbTable($db); $authAdapter->setTableName('f_user'); $authAdapter->setIdentityColumn('f_user_login'); $authAdapter->setCredentialColumn('f_user_pw'); // Set the input credential values to authenticate against $authAdapter->setIdentity($username); $authAdapter->setCredential($password); // do the authentication $auth = Zend_Auth::getInstance(); $result = $auth->authenticate($authAdapter); if ($result->isValid()) { // success: store database row to auth's storage // system. (Not the password though!) $data = $authAdapter->getResultRowObject(null,'f_user_pw'); $auth->getStorage()->write($data); $this->_redirect('/'); } else { // failure: clear database row from session $this->view->message = 'Login failed.'; } } } }
dans le code si dessus voila la ligne (54) ou il y a l'erreur :
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 public function preDispatch(Zend_Controller_Request_Abstract $request) { // is the user authenticated if ($this->_auth->hasIdentity()) { // yes ! we get his role $user = $this->_auth->getStorage()->read() ; $rolll = $user['f_user_role'] ; if ($rolll == 0){ $role = 'guest'; }elseif($rolll == 1){ $role = 'member'; }elseif($rolll == 2){ $role = 'author'; }elseif($rolll == 10){ $role = 'admin'; }
alors si quelqu'un comprend c'est quoi l'erreur veillez me l'indiquez !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $rolll = $user['f_user_role'] ;
merci
Partager