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?
Questo è il clientCodice 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;
}
}
Cosa ne pensate ??? Ci sono errori ???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";
}
}
?>

Rispondi quotando