Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/09/2011, 19h11   #1
Nouveau Membre du Club
 
Développeur informatique
Inscription : mars 2010
Messages : 139
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mars 2010
Messages : 139
Points : 37
Points : 37
Par défaut Page blanche instanciation d'objet

Bonjours,

Je vous expose le problème :

Mon site se compose d'une page d'index. Dans cette page, j'inclus une classe php qui me permet de créer une instance de cette classe seulement lorsque je desire aller sur mon site j ai une page blanche :

je vous met le code que j'ai :

index.php :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
....
   <!-- pas de script php avant -->
   <?php
      include('mon_menu.class.php');
      include('connexion_base.php');
 
      $menu = new Menu();//cette ligne me met une page blanche sans cette ligne : OK
      echo "test";
   ?>
   <!-- pas de script php apres -->
...
connexion_base.php
Code :
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
 
<?php
 
class ConnexionBase
{
    //attribut permettant la connexion à une base de donnée.
    private $connexion;
 
    public function __construct()
    {
 
        try
        {
	    $PDO_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
//valeur reelle remplacee par des . pour ce forum            
$this->connexion = new PDO('mysql:host=.....;dbname=....','.....','.....',$PDO_options);
        }
        catch(Exception $e)
        {
 
            echo "Erreur de connexion :".$e->getMessage();
 
        }
 
    }
 
    public function getConnexion()
    {
	return $this->connexion;
    }
}
 
?>
mon_menu.class.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
<?php
 
include('connexion_base.php');
 
class Menu
{
 
	//private $connexion;	
 
	public function __construct()
	{
 
	  //  $this->connexion = new ConnexionBase();
 
	}
 
?>
dharkan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 20h15   #2
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
Tu dois vérifier l'etat du error_reporting de ton installation PHP pour voir les erreurs affichés à l'écran.

Pour l'instant il me semble que tu as inclus le fichier connexion_base.php à deux reprises, donc tu définis deux fois la classe ConnexionBase. Tu devrais utiliser include_once ou mieux n'inclure le fichier qu'une fois.
__________________
Développeur | Zend Certified Engineer

Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

Nix>_Rien n'est plus pratique que la théorie
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 08h30   #3
Nouveau Membre du Club
 
Développeur informatique
Inscription : mars 2010
Messages : 139
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mars 2010
Messages : 139
Points : 37
Points : 37
j ai enlever l'inclusion du fichier connexion_base.php de l'index.php et remplacer les include par include_once.

J'ai malheureusement le même problème.
J'ai fait un test en créent un objet connexion(à la place d'un objet menu) et là la page s'affiche j ai l'impression que le problème vient du fichier mon_menu.class.php qui pourtant ne contient rien mis à part un constructeur vide (par défaut?).

Je doit préciser une chose aussi ces fichier son héberger chez un hébergeur gratuit donc pour activer le rapport d'erreur je ne sais pas comment m'y prendre.

EDIT : l etat de mon error report est : 6135 qu est ce que cela signifie ?
voila j ai comprit dans la configuration j ai sa :

display_errors Off Off
display_startup_errors Off

bon j active le rapport d erreur en court d execution grace à :
Code :
1
2
3
4
5
 
<?php
      ini_set('display_errors','1');
     ....
   ?>
et la les erreurs apparaissent :

Citation:
Parse error: syntax error, unexpected $end, expecting T_FUNCTION in /home/vol7/hebergratuit.com/rober_9161677/htdocs/mon_menu.class.php on line 17
le fichier est celui ci :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
<?php
 
include_once('connexion_base.php');
 
class Menu
{
 
	//private $connexion;	
 
	public function __construct()
	{
 
	  //  $this->connexion = new ConnexionBase();
 
	}
 
?>
probleme resolut il manquait la fermeture de la classe : }
dharkan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h02.


 
 
 
 
Partenaires

Hébergement Web