1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
| class MyPDO extends PDO {
public function __construct($dsn,$user,$password) // constructeur
{
parent::__construct($dsn ,$user,$password);
$this->setattribute(self::ATTR_ERRMODE,self::ERRMODE_EXCEPTION); //activation de la gestion d'erreur par exception
}
protected function My_Select($columns , $tables , $criterion)
{
if($criterion == '')
{
$req = 'select '.$columns.' from '.$tables;
}
else
{
$req = 'select '.$columns.' from '.$tables.' where '.$criterion; //requête à passer
}
$tmp = $this->prepare($req); //préparation
$tmp->setfetchmode(self::FETCH_ASSOC); //récupération sous forme de tableau associatif
$tmp->execute(); //éxecution
$res = $tmp->fetchAll(); //récupération
return($res);
}
protected function My_Insert($table , $columns , $values)
{
$req ='insert into '.(string)$table.' ('.(string)$columns.') values ('.(string)$values.')';
$tmp = $this->prepare($req);
return($tmp->execute());
}
}
class Administrateur
{
protected $login; //l'administrateur est défini par son login
public function _construct($x) //constructeur
{
$this->login = $x;
}
public function authentification($log,$pass) //pour vérifier si l'utilisateur est bel et bien un administrateur
{
$log = '"'.$log.'"'; //pour ajouter les guillemets
$db_admins = new MyPdo('mysql:dbname=admins;host=localhost', 'root', ''); //connexion à la base administrateur
$aut=false; //variable retour indiquant l'authenticité
$select_login_password = $bd_admins->My_Select('login, password', 'admin', 'login = '.(string)$log); //requête pour extraire les logins et mots de passe correspondant au login entré
if (!empty($select_login_password)) //s'il y a un login correspondant
{
while(($aut == false) and (list($x,$y)= each($select_login_password)))
{
if($y['password'] == $pass) //si le mot de passe correspond
{
$aut = true;
}
}
}
$db_admins = null; //fermeture de la base
return ($aut);
}
function consulter_produits($tab = null ) //voir les produits qui répondent à ceratins critères
{
$criterion = ''; //initialisation des critères
$db_prod = new MyPDO('mysql:host=localhost;dbname=produits','root',''); //connexion à la base des produits
if($tab == null) //si on n'a aucun critère on affiche tout
{
$prd = $db_prod->My_Select('*','produit','');
}
else
{
foreach($tab as $ind => $par) //parcours du tableau des paramètres et construction du critère
{
if($par==null)
{
$criterion = $criterion;
}
else
{
$criterion = $criterion.$ind.' = '.$par.' and ';
}
}
$criterion = $criterion.' 1';
$prd = $db_prod->My_Select('*','produit',$criterion); //séléction
}
$db_prod = null; //fermeture de la base
return($prd);
}
public function ajouter_produit($table,$tab)
{
$values = '';
$columns = '';
foreach($tab as $ind => $par)
{
if($par != null)
{
$columns = $columns.$ind.' , ';
}
}
}
} |
Partager