1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2004
    Messages
    1 356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : mai 2004
    Messages : 1 356
    Points : 760
    Points
    760

    Par défaut Problème d'insertion en Base

    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();
    	}
    }

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2004
    Messages
    1 356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : mai 2004
    Messages : 1 356
    Points : 760
    Points
    760

    Par défaut

    toutes mes excuses pour ce post ! je ne sais pas s'il faut le supprimer mais je crois avoir mis le log à l'inscription.

  3. #3
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Ingénieur développement
    Inscrit en
    décembre 2006
    Messages
    5 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 5 015
    Points : 19 002
    Points
    19 002
    Billets dans le blog
    17

    Par défaut

    ok pas grave, je vais voir pour supprimer ce topic
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] Problème d'insertion en base
    Par hsii04 dans le forum Symfony
    Réponses: 1
    Dernier message: 27/10/2011, 15h14
  2. [PHP 5.2] Problème d'insertion en base
    Par runcafre91 dans le forum Formulaires
    Réponses: 3
    Dernier message: 02/03/2010, 16h47
  3. [Linq to Sql] Problème d'insert en base de données
    Par Nyphel dans le forum Accès aux données
    Réponses: 3
    Dernier message: 21/11/2008, 23h31
  4. Problème d'insertion dans base de donnée
    Par Maestro57 dans le forum Fonctions
    Réponses: 4
    Dernier message: 11/06/2007, 10h04
  5. problème d'insertion ds base de données sqlserver
    Par manelBenAli dans le forum Accès aux données
    Réponses: 7
    Dernier message: 21/02/2007, 19h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo