bonsoir,

j'ai cette 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
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
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.';
			}
		}
		}
 
 
 
	}
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
 
 
	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';
		  }
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
 
 
$rolll = $user['f_user_role'] ;
alors si quelqu'un comprend c'est quoi l'erreur veillez me l'indiquez !
merci