Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjorus;
J'utilise actuellment sa, trouvé sur le net comme code, mais le probleme c'est que je veux pas utiliser ma BDD par default.
$dbAdapter = Zend_Db_Table_Abstract::getDefaultAdapter();
Comment changer sa DB ?
Sachant que bon bootstrap ressemble a sa.
$config = new Zend_Config_Ini(APPLICATION_PATH.'/configs/application.ini','production'); // MSSQL $params_mssql = $config->mssql->db; $db = Zend_Db::factory($params_mssql); Zend_Registry::set('mssql',$db); $select = $db->select(); //MYSQL $params_mssql = $config->mysql->db; $db = Zend_Db::factory($params_mssql); Zend_Registry::set('mysql',$db);
Hors ligne
Je me permet de demander de l'aider, mon projet et bloqué depuis 3 jours, a cause de sa.
Pour vous aidez j'ai oublié de preciser.
Voici mon code complet, en faite c'est pour un script d'authentification.
<?php class AuthController extends Zend_Controller_Action { public function init() { $db = Zend_Registry::get('mssql'); $this->view->title="Mon Site Web - Login"; $form = new Default_Form_Auth_Login($db); $this->view->form = $form; } public function loginAction() { // Si l'utilisateur est déjà loggué on le redirige à l'accueil if(Zend_Auth::getInstance()->hasIdentity()) $this->_redirect('/index'); $this->view->title="Mon Site Web - Login"; $db = Zend_Registry::get('mssql'); $form = new Default_Form_Auth_Login($db); $this->view->form = $form; $formData = $_POST; if($this->getRequest()->isPost()) { if ($form->isValid($formData)) { $f = new Zend_Filter_StripTags(); $username = $f->filter($form->getValue('login')); $password = $f->filter($form->getValue('password')); $dbAdapter = Zend_Db_Table_Abstract::getDefaultAdapter(); $authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter); $authAdapter->setTableName('dbo.td_Account'); $authAdapter->setIdentityColumn('dbo.td_Account'); $authAdapter->setCredentialColumn('Password'); // On assigne les valeurs pour que l'authentification s'effectue $authAdapter->setIdentity($username); $authAdapter->setCredential(sha1($password)); // On a pris la précaution d'au moins chiffrer les mdp // On tente l'authentification $auth = Zend_Auth::getInstance(); $result = $auth->authenticate($authAdapter); // On test si tout s'est bien passé if($result->isValid()) { $data = $authAdapter->getResultRowObject(null, 'password'); $auth->getStorage()->write($data); $this->_redirect('/admin'); } else { $this->view->error = 'Mauvais login ou mauvais mot de passe.'; $form->populate($formData); } } else { $this->view->error = 'Vous devez remplir tous les champs.'; $form->populate($formData); } } } }
Et voici l'erreur une fois avoir valider le formulaire:
Message: The supplied parameters to Zend_Auth_Adapter_DbTable failed to produce a valid sql statement, please check table and column names for validity.
Dernière modification par thebarbarius (20-07-2011 15:21:06)
Hors ligne
Perso j'ai pas du tout compris ce que tu cherche à faire
Dernière modification par shadypierre (20-07-2011 21:11:25)
Hors ligne
Alors le formulaire s'affiche parfaitement.
Je rentre mes identifiants pour me connecter, je valide et voici l'erreur uque cela produit.
Message: The supplied parameters to Zend_Auth_Adapter_DbTable failed to produce a valid sql statement, please check table and column names for validity.
Je me demande d'ou sa peut venir.
Dernière modification par thebarbarius (20-07-2011 22:32:51)
Hors ligne