/**
  * Cerca di capire se � possibile memorizzare quell'utenza su db
  * Questa � il famoso validatore 'utenteDisponibileSuRecord' come dichiarato nelle regole().
  */
 public function utenteDisponibileSuRecord($attribute, $params)
 {
     //Se non ci sono errori, posso procedere con i controlli sull'autenticazione
     if (!$this->hasErrors()) {
         //creo un AR e indico che voglio lavorare con lo scenario register
         $utente = new Utenti('register');
         //Dato che i campi del modello User si chiamano quasi tutti come quelli di questa classe,
         //posso permettermi il lusso di fare cos�:
         $utente->attributes = $this->attributes;
         //passo tutti i campi del modello all'active record
         //l'unico campo che si chiama diversamente � questo:
         //$utente->remember = $this->rememberMe;
         //Se non � possibile inserire il record
         if (!$utente->validate()) {
             //riporto gli errori specifici
             $errors = $utente->getErrors();
             $this->addErrors($errors);
         }
     }
 }
Exemple #2
0
require "./system/ClassCRUDetail.php";
require "./system/ClassUtenti.php";
require "./system/ClassGUI.php";
//Istanzio l'oggetto grafico
$gui = new GUI();
//Inizializzo la classe per la validazione
$user_auth = new Utenti();
$user_field = $user_auth->attributeLabels();
//Validazione in caso di richiesta login
$submit = $_POST['submit'];
if (isset($_POST['submit'])) {
    $attributi = array();
    $attributi['utente'] = addslashes($_POST['utente']);
    $attributi['password'] = addslashes($_POST['password']);
    $rules = $user_auth->rules();
    $esito = $user_auth->validate($rules, $attributi, 2);
    if (is_bool($esito)) {
        //I dati sono formalmente corretti.
        //Verifico l'esistenza di questi dati nell'archivio
        $attributi['password'] = md5(md5(sha1(md5($attributi['password']))));
        $exists = $user_auth->query("SELECT id, stato FROM " . $user_auth->tbl_name . " WHERE utente = '" . $attributi['utente'] . "' AND password = '******'password'] . "'");
        echo "SELECT id, stato FROM " . $user_auth->tbl_name . " WHERE utente = '" . $attributi['utente'] . "' AND password = '******'password'] . "'";
        if (!$exists) {
            $esito = "Non risulta nessun utente registrato con questi dati";
        } else {
            //Verifico se l'utente è attivo
            $exists = mysqli_fetch_assoc($exists);
            $state = $exists["stato"];
            if ($state == 1) {
                //L'utente può accedere ! Aggiorno l'ultimo login
                $user_auth->attributes["id"] = $exists['id'];