Ciao a tutti, vi scrivo un script in OOP su un autenticzione login, non c'è scritto un papiro, ma vorrei solo sapere come vi sembra di sintassi, e di ordine....
Codice PHP:
<?php
class Login{
//Dichiaro queste variabili in public in quanto questa classe non sarà estesa a nessuna
public $username,$password,$errori,$login;
function __construct(){
/*
In questa funzione controllo se esiste il login (tasto premuto), trasformo errori in un array, che in futuro potrà riempirsi
ed se vi è il login controllo i dati escludendo tutti i caratteri al di fuori della regular expresion
*/
$this->login = ($_POST['login']) ? 1:0;
$this->errori = array();
$this->username = ($this->login) ? $this->controllo($_POST['username']) : 0;
$this->password = ($this->login) ? $this->controllo($_POST['password']) : 0;
}
function controllo($valida){
if(empty($valida)){
$this->errori[] = "Uno o più campi sono vuoti !";
}
return preg_replace("/[^a-zA-Z0-9]/","",$valida);
}
function ConnectDB(){
mysql_connect("localhost","root","") or die("Impossibile connettersi...");
mysql_select_db("login") or die("Impossibile connettersi al db");
$QueryVerify = mysql_query("SELECT Nome FROM utenti WHERE Nome LIKE '".$this->username."' AND Password LIKE '".$this->password."'");
// Non fate caso a livelli di sicurezza password ecc... in quanto è solo una prova..
$ResultQuery = mysql_num_rows($QueryVerify);
if(!$ResultQuery){
$this->errori[] = "Nessun account corrisponde ai dati da te inseriti." ;
}else{
header("Location: ./profile.php");
}
$this->Errors(); //Chiudo la funzione con una chiamata alla funzione errors
}
function Errors(){
if(!empty($this->errori)){
foreach(array_unique($this->errori) as $key => $value){
echo "Errore :".$value."
";
}
}
}
} //Fine classe
?>