Objet passion

kyript Messages postés 346 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 26 mars 2012 - 21 mars 2006 à 07:52
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 - 22 mars 2006 à 02:19
bonjour à tous
ca y'ai j'ai sauté le cap, je suis passer à l'objet mais j"ai un petit soucis de comprehension
voila j'essaye de faire une classe pour ma gestion des erreurs SQL

voici la classe :

class erreurSql
{
var $adresse ="[mailto:test@free.fr test@free.fr]",
$sujet, $message, $Sql,
$retour = "<form></form>";

function erreurSql($requeteSql)
{
$this->Sql = $requeteSql;
$this->sujet = "Erreur : ".date("j, m, y")." : ".date("H:i:s");
$this->message = "Erreur SQL a la page:

".$_SERVER['SCRIPT_FILENAME']."

Erreur: ".$this->Sql;
echo $this->Sql;
echo $this->retour;
}
}

et dans mon script ...

include "class_erreurSql.php";
$requeteSql = new erreurSql();


$hostname= "localhost";
$database = "test";
$username= "*****";
$password= "*****";
$roots = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database, $roots) or die($requeteSql->erreurSql(mysql_error()));

ceci me retourne une erreur car je ne passe pas de parametre lors de la creation de l'obet
mais je peut pas l'initialiser maintenant car ma requete SQL s'execute apres

alors comment faire ? je suis un peu perdu
si vous pouviez m'aider ca serait cool

merci à tous
++

4 réponses

raven44 Messages postés 315 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 21 mars 2011 1
21 mars 2006 à 08:42
Je dois dire que tu t'es un peu compliqué la vie !!!, tu n'étais pas obligé de créer une classe d'erreur, il suffisait de créer un fichier du style sql.inc.php que tu include dans chaque page et a l'intérieur du définissait t'es erreur :

<?php


define ("_DEF_SQL_SERVER", "localhost");
define ("_DEF_SQL_USER", "root");
define ("_DEF_SQL_PSWD", "");

define ("SQL_ERREUR1", "Impossible ...");

?>

n'est ce pas plus simple ??
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 mars 2006 à 09:06
Le but est de créer une classe, je crois...

Bref, tu confonds constructeur et méthodes.

Ton constructeur ne doit pas génerer l'affichage des erreurs, tu dois pour cela passer par une méthode classique.

Bon sinon...je ne vais pas corriger le concept parce que c'est un essai à la POO...mais le concept n'est quand même pas bon ;-)
0
kyript Messages postés 346 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 26 mars 2012
21 mars 2006 à 11:30
ok donc si j'ai bien conpris j'ai pas besoin de creer une methode constructeur

donc je creer simplement l'objet ave new erreurSql()

puis je fait appelle a ma methode
objet->envoyermailerreur(mysql_error())

mas je suis obligé au moment de creer l'objet de doner des parametre a ma methode ou c'est seulement pour le constructeur
j'ai pas tres bien, cette partit la
si quelqun pouvais m'orienté ca serait coll

merci
++
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
22 mars 2006 à 02:19
Si tu veux faire de l'objet ==> PHP5.

Autrement pas la peine de t'emmerder pour rien !
0
Rejoignez-nous