Bonjour Imikado
Mon post ce matin concerne un bout de code qui marchait, mais qui maintenant ne fonctionne plus :
le but du code était de monter un système de log pour ceux qui se connectent :
l'authentification se fait correctement mais j'ai pas d'insertion en base dans la table tracelogs ?
Code du module auth pour la connection :
Code php : 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121 <?php class module_auth extends abstract_module{ //longueur maximum du mot de passe private $maxPasswordLength=100; public function before(){ //on active l'authentification _root::getAuth()->enable(); $this->oLayout=new _layout('bootstrap'); } public function _login(){ $sMessage=$this->checkLoginPass(); $oView=new _view('auth::login'); $oView->sError=$sMessage; $this->oLayout->add('main',$oView); } // Fonction d'insertion dans la base private function mytraceuser($sConnected){ $sip=$this->recip(); $oTRACEUSERS=new row_tracelogs; $oTRACEUSERS->usertracelogs=$sConnected; $oTRACEUSERS->machinetracelogs=$sip; //$_SERVER['REMOTE_ADDR'] ;// a priori c juste une ip $oTRACEUSERS->actiontraces="Viens de se connecter depuis l'Interface Web" ; if($oTRACEUSERS->save()){ // _root::redirect('default::index'); } else{ echo "oups "; } } private function checkLoginPass(){ //si le formulaire n'est pas envoye on s'arrete la if(!_root::getRequest()->isPost() ){ return null; } $sLogin=_root::getParam('login'); $sPassword=_root::getParam('password'); if(strlen($sPassword) > $this->maxPasswordLength){ return 'Mot de passe trop long'; } //on stoque les mots de passe hashe dans la classe model_utilisateurs $sHashPassword=model_utilisateurs::getInstance()->hashPassword($sPassword); $tAccount=model_utilisateurs::getInstance()->getListAccount(); //on va verifier que l'on trouve dans le tableau retourne par notre model //l'entree $tAccount[ login ][ mot de passe hashe ] if(!_root::getAuth()->checkLoginPass($tAccount,$sLogin,$sHashPassword)){ return 'Mauvais login/mot de passe'; } $oUser=_root::getAuth()->getAccount(); model_rightsManager::getInstance()->loadForUser($oUser); _root::redirect('default::index'); } public function _inscription(){ $tMessage=$this->processInscription(); $oView=new _view('auth::inscription'); $oView->tMessage=$tMessage; $oView->oUser=new row_utilisateurs; $this->oLayout->add('main',$oView); } private function processInscription(){ if(!_root::getRequest()->isPost()){ return null; } $tAccount=model_utilisateurs::getInstance()->getListAccount(); $sLogin=_root::getParam('uti_login'); $sPassword=_root::getParam('password'); if($sPassword!=_root::getParam('password2')){ return array('uti_login'=>array('Les deux mots de passe doivent etre identiques')); }elseif($sLogin==''){ return array('uti_login'=>array('Vous devez remplir le nom d utilisateur')); }elseif($sPassword==''){ return array('uti_login'=>array('Vous devez remplir le mot de passe')); }elseif(strlen($sPassword) > $this->maxPasswordLength){ return array('uti_login'=>array('Mot de passe trop long')); }elseif(isset($tAccount[$sLogin]) ){ return array('uti_login'=>array('Utilisateur déjà existant')); } if($oUtilisateurs->save()==false){ return $oUtilisateurs->getListError(); } // ICI MA METHODE DE TRACE $this->mytraceuser($sLogin); //_root::redirect('default::index'); return array('success'=>array('Votre compte a bien été créé cliquez sur Page login pour vous connectez !')); } public function _logout(){ _root::getAuth()->logout(); } public function after(){ $this->oLayout->show(); } }
Partager