Problème de classe php
Posté : 06 mai 2009, 23:34
Bonsoir. je ne m'y connais pas trop en POO mais je suis confronté à un problème plutot 'merdique'
Donc voila :
J'ai crée une classe nommée bd_connec et enregistrée seule dans un fichier bd_connec.php
qui définit des méthode de connxexion et deconnexion à une base de donnée dans les infos figurent dans un fichier config.php
Description du fichier config.php
Description du fichier bd_connec.php
Ensuite j'ai créé deux autre classes administrateur et categorie sachant que chacune d'elles attaque une table différente de la bd.
Description de la classe administrateur.php
Description de la classe categorie.php
Dans une derniere page test.php j'appelle une instance d'administrateur et une autre de categorie
Description de test.php
Quand j'exécute cela m'affiche un message d'erreur
Fatal error: Cannot redeclare class bd_connec in D:\wamp\www\sfe\classes\bd_connec.php on line 4
S'il vous plait comment dois-je procéder sans avoir à changer la structure c'est a dire en ayant le même nombre de classe et le même nombre de fichiers .
Merciiii et bonne soirée
Donc voila :
J'ai crée une classe nommée bd_connec et enregistrée seule dans un fichier bd_connec.php
qui définit des méthode de connxexion et deconnexion à une base de donnée dans les infos figurent dans un fichier config.php
Description du fichier config.php
<?php
//info base de donnée
define('bd_serveur', 'localhost');
define('bd_login', 'jocker');
define('bd_pass', '123456');
define('bd_nom', 'sopsi');
define('contact_email', '[email protected]');
?>
Description du fichier bd_connec.php
<?php
include "../config.php";
class bd_connec{
//fonction qui permet de se connecter à la base de donnée dont les infos figurent dans le fichier config.php
function seconnecter()
{
$mysql = mysql_connect( bd_serveur, bd_login, bd_pass );
mysql_select_db(bd_nom, $mysql);
return $mysql;
}
//permet de se déconnecter de la base de donnée après une connexion
function sedeconnecter($mysql)
{
mysql_close($mysql);
}
}
?>
Ensuite j'ai créé deux autre classes administrateur et categorie sachant que chacune d'elles attaque une table différente de la bd.
Description de la classe administrateur.php
<?php
include "bd_connec.php";
class administrateur extends bd_connec
{
function supprimer_admin($id_admin)
{
$sql="DELETE FROM administrateur WHERE id_admin='$id_admin' ";
$id=$this->seconnecter();
mysql_query($sql);
$this->sedeconnecter($id);
}
}
?>
Description de la classe categorie.php
<?php
include "bd_connec.php";
class categorie extends bd_connec
{
function supprimer_categorie($id_categorie)
{
$sql="DELETE FROM categorie WHERE id_categorie='$id_categorie' ";
$id=$this->seconnecter();
mysql_query($sql);
$this->sedeconnecter($id);
}
}
?>
Dans une derniere page test.php j'appelle une instance d'administrateur et une autre de categorie
Description de test.php
<?php
$categorie= new categorie();
$admin= new administrateur();
echo 'initialisation des objets effectuée' ;
?>
Quand j'exécute cela m'affiche un message d'erreur
Fatal error: Cannot redeclare class bd_connec in D:\wamp\www\sfe\classes\bd_connec.php on line 4
S'il vous plait comment dois-je procéder sans avoir à changer la structure c'est a dire en ayant le même nombre de classe et le même nombre de fichiers .
Merciiii et bonne soirée