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