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

?>