/** * 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); } } }
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'];