Salve a tutti sto realizzando un progetto in php e sto usando ADODB per l'interazione col database.
A tal proposito mi sono creato una classe chiamata DataAccess che utilizzo per lo scambio di dati col DB (in questo caso mysql).
Secondo voi l'ho strutturata bene questa classe?
Codice PHP:
require_once 'adodb5/adodb.inc.php';
class DataAccess {
private static $instance = NULL;
private $conn;
private function __construct(){
$this->conn = NewADOConnection('mysql');
$this->conn->Connect("localhost", "root", "passwd", "nomeDb");
}
public static function getInstance(){
if(self::$instance == NULL){
self::$instance = new DataAccess();
}
return self::$instance;
}
public static function logUser($email, $password){
$result = $this->conn->Execute("SELECT email, password FROM utente WHERE email='$email' LIMIT 1");
$emailDb;
$passwordDb;
// Qua ci devo mettere un'exception al posto di exit()
if (!$result){ exit($conn->ErrorMsg()); }
else{
if (!$result->EOF) {
$emailDb = $result->fields['email'];
$passwordDb = $result->fields['password'];
if($emailDb == $email && $passwordDb == $password){
return true;
}
}//END WHILE
}
return false;
}
}
Questo è il client
Codice PHP:
<?php
require_once 'Classi/DataAccess.php';
$da = DataAccess::getInstance();
// Ricorda di filtrare l'input
$email = $_POST['email'];
$password = $_POST['password'];
if(($email != NULL && $email != "") && ($password != NULL && $password != "")){
if($da->logUser($email, $password)){
echo "Login eseguito";
}else{
echo "Login fallito";
}
}
?>
Cosa ne pensate ??? Ci sono errori ???