sebastien00 Posted April 27, 2012 Share Posted April 27, 2012 Bonjour à tous, J'ai modifié la page de création de compte pour afficher deux champs. ( id et mot de passe ) que j'ai mis dans $fieldsRequired, $fieldsSize et $fieldvalidate public $ecole_id=0; // valeur par defaut sinon erreur lors du mot de passe oublié public $ecole_mdp="AZERTY"; // valeur par defaut sinon erreur lors du mot de passe oublié Puis dans la création du compte, je vérifie si le login / mot de passe correspond dans une BDD annexe. Via le constructeur add: // modification ajout du groupe de l'utilisateur ( école_id ) $db = Db::getInstance(); $sql = "SELECT * FROM school WHERE id = ".$this->ecole_id." AND password = md5('".$this->ecole_mdp."')"; //.' and password= '.$ecole_mdp; // si le login / mot de passe de l'école est ok, on ajoute le groupe qui correspond au code école à l'utilisateur if ($row = Db::getInstance()->getRow($sql)) $this->id_default_group = $this->ecole_id; // sinon on met le groupe 999 ( ce qui n'arrive jamais car une erreur sera levée else { $this->id_default_group = 999; } Ensuite je léve une erreur dans le AuthController s'il n'y est pas : if (Tools::isSubmit('submitAccount') OR Tools::isSubmit('submitGuestAccount')) { $create_account = 1; [...] // modification if (isset($_POST['ecole_id']) AND isset($_POST['ecole_mdp']) ){ $ecole_id1=$_POST['ecole_id']; $ecole_mdp1=$_POST['ecole_mdp']; $db = Db::getInstance(); $sql = "SELECT * FROM school WHERE id = ".$ecole_id1." AND password = md5('".$ecole_mdp1 ."')"; // si le login / mot de passe de l'école n'est pas bon if (!($row = Db::getInstance()->getRow($sql))) $this->errors[] = Tools::displayError("login ou mot de passe de l ecole incorrect (".$ecole_id1." ; ".$ecole_mdp1.")" ); // $this->errors[] = Tools::displayError("login ou mot de passe de l ecole incorrect, SELECT * FROM school WHERE id = ".$ecole_id1." AND password = '".$MDP5."'" ); } Bref, mon authentification fonctionne, je crée mes utilisateurs et le groupe par défaut se change bien pour celui rentré dans le nouveau champs ! Un client peut modifier son compte en front office, c'est OK. Le mot de passe oublié aussi. Cependant, en back office, si j'essayede modifier quoi que ce soit d'un client, j'ai une erreur comme quoi mes deux nouveaux champs sont requis. J'ai regardé un peu partout et essayé différentes modifications, impossible de savoir de où cela vient.. J'ai surtout regardé du coté de AdminCustomers, mais pas possible de voir où je peux mettre une valeur "bateau" dans ces deux variables.. Pour pouvoir faire les modifications ( des valeurs bateau car pas besoin d'avoir le bon login/mdp pour faire les modif en back office ! ) Auriez vous des idées ? merci Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now