Gros souci avec includes

Résolu
altechkgo Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -  
altechkgo Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je rencontre des difficultés avec mes fichiers includes
Après quelques recherches, mon souci est lié à l'utilisation de require dans mon code php
<?php require 'includ/includ.php'; ?> 


EDIT: Ajout des balises de code

en local tout est parfait,
mais chez l'hebergeur, c'est
Cette page ne fonctionne pas Impossible de traiter cette demande via je2menage.net à l'heure actuelle.
HTTP ERROR 500


Merci encore

Configuration: Windows / Chrome 71.0.3578.80

9 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Que contient le fichier que tu cherches à inclure ?
As tu la même version de php en local et sur ton hébergeur ?
Es tu sûr du chemin vers le fichier ?


NB: Pour poster du code sur le forum, merci de le faire en utilisant LES BALISES DE CODE (et en y précisant le langage)
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code


0
altechkgo Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
Je pense que le souci ne provient pas de la version de php en local et sur ton hébergeur , ni
du chemin vers le fichier ?

mais qu'il est lié au contenu du fichier que veux inclure.

<?php 
require 'Classes/Db.php';
require 'Classes/panier.php';
require 'Classes/auth.php';
$DB = new Db();
$panier = new Panier($DB);

// cacher les erreurs pour la production
ini_set('error_reporting', 0);
// afficher les érreurs lors du developpement 
//ini_set('error_reporting', E_ALL);
 ?>


EDIT : Ajout des balises de code ( encore .... !!!! )

Merci bien pour votre disponibilité
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Déjà... le code permettant d'afficher les erreurs php se place AVANT le code php.... (donc en tout premier dans ton script ! )
Ensuite, le code que tu nous montres n'est pas, en soit, une cause de souci.
Sauf que là aussi tu y fais des require... et qu'on ne sait pas :
- Ce que contiennent ces fichiers.
- Le nom des fichiers sur le serveur et leur emplacement

NB: Attention.. si en local tu étais en windows.. et que maintenant tu es sur un linux.... le nommage des fichiers ( et l'utilisation des majuscules/minuscules) à sont importance.
Sous windows.. que le fichier se nomme : Db.php ou db.php lui importe peu... mais sous linux.. il s'agit de deux fichiers différents pour lui !
0
altechkgo Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
ok, je travail sur Windows en local
chez l'hébergeur c'est linux.

Pour les requires
- un fichier nommé, Db.php'; pour me connecter sur la BD, placé dans un dossier nommé classes
- un autre fichier nommé, panier.php'; pour me connecter à mon panier, placé dans un dossier nommé classes
- un 3 ème fichier nommé, auth.php'; pour me connecter sur la BD en tant que utilisateur, placé dans un dossier nommé classes

UN AUTRE DOSSIER NOMME INCLUDES? CONTENANT 3fichiers différent
- header.php
-footer.php
-includes.php

voici comment se presente les fichiers et dossier dans mon poste de travail
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

dans un dossier nommé classes

Donc classes... Sans C majuscule ?
0
altechkgo Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
Non-non
Dossier Classes avec C majuscule, et
Classes/Db.php
/panier.php
/auth.php

dossier includes/includes.php
/header.php
/footer.php

merci encore
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
- As tu activé correctement l'affichage des erreurs PHP au début du script comme je te l'ai indiqué ?

- As tu essayé d'effacer (ou au moins de mettre en commentaire) les lignes de tes fichiers puis tu les remets une par une pour voir si le souci apparait.. jusqu'à trouver la/les lignes fautives...


0
altechkgo Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
OUI, et voici comment j'ai procedé

<?php
// cacher les erreurs pour la production
ini_set('error_reporting', 0);
// afficher les érreurs lors du developpement
//ini_set('error_reporting', E_ALL);

require 'Classes/db.php';
require 'Classes/panier.php';
require 'Classes/auth.php';
$DB = new db();
$panier = new Panier($DB);
?>

As tu essayé d'effacer (ou au moins de mettre en commentaire) les lignes de tes fichiers puis tu les remets une par une pour voir si le souci apparait.. jusqu'à trouver la/les lignes fautives...

Oui et après cela
https://je2menage.net/cgi-sys/suspendedpage.cgi (résultat= page blanche)

AU NIVEAU DOSSIER includes voici le résultat
https://je2menage.net/cgi-sys/suspendedpage.cgi (résultat = http erreur 500)
https://je2menage.net/cgi-sys/suspendedpage.cgi ( c'est parfait)
https://je2menage.net/cgi-sys/suspendedpage.cgi (c'est parfait)


AU NIVEAU DU DOSSIER Classes, voici les résultats
https://je2menage.net/cgi-sys/suspendedpage.cgi (résultat= page blanche)
https://je2menage.net/cgi-sys/suspendedpage.cgi (résultat= page blanche)
https://je2menage.net/cgi-sys/suspendedpage.cgi (résultat= page blanche)
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Déjà... comme je te l'ai déjà indique :

Pour poster du code sur le forum, merci de le faire en utilisant LES BALISES DE CODE (et en y précisant le langage)
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Ensuite...
// Désactiver le rapport d'erreurs
error_reporting(0);

Toi tu dois mettre :
//mettre TOUT CA au début du fichier php pour activer l'affichage des erreurs PHP !
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);


Et enfin.. dans ton fichier includes.php
<?php 
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

echo "Include des fichiers :";
if( !file_exists("Classes/db.php")){
 echo " Fichier : Classes/db.php introuvable !"; 
}

if( !file_exists("Classes/panier.php")){
 echo " Fichier : Classes/panier.php introuvable !"; 
}

if( !file_exists("Classes/auth.php")){
 echo " Fichier : Classes/auth.php introuvable !"; 
}


//Si aucun echo d'erreur n'apparait.. tu peux décommenter la première ligne puis réafficher ta page
// require_once 'Classes/db.php'; 


//Si pas d'erreur.. tu peux ensuite décommenter la seconde ligne puis réafficher ta page :
// require_once 'Classes/panier.php'; 

// si toujours pas d'erreur.. tu peux décommenter cette troisème ligne puis réafficher ta page
// require_once 'Classes/auth.php'; 

//Si toujours pas d'erreur... puis réafficher ta page
//$DB = new db(); 


//et si toujours pas d'erreur... puis réafficher ta page
// $panier = new Panier($DB); 

?>


bien entendu.. tu n'affiche pas directement ta page "include" dans ton navigateur....
Tu affiches ta page index https://je2menage.net/cgi-sys/suspendedpage.cgi (qui elle fait un include de ton fichier include... )
0
altechkgo Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
Merci encore,
c'est bien noté pour le code et les balises.

après le texte avec votre orientation j'obient ce message d'erreur


Notice: Undefined variable: panier in /home/lb2vu0go/public_html/eshop/includes/header.php on line 43

Fatal error: Call to a member function count() on null in /home/lb2vu0go/public_html/eshop/includes/header.php on line 43
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Ben tu as quoi à la ligne 43 (et avant ) du fichier /header.php ?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Par contre.. ça semble logique que tu ais ce message d'erreur.... tant que tu ne seras pas allé jusqu'au bout du "décommentage" des lignes que je t'ai indiqué.
Puisque tu as, en commentaire, la ligne
// $panier = new Panier($DB);

Donc fais les différentes étapes.. pour voir ce que ça donne....
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Question bête qui me vient à l'esprit....
Dans ton fichier Db ... tu as bien utilisé les bons identifiants pour te connecter à la bdd ? Car je doute que ça soit les mêmes qu'en local.... il te faut utiliser ceux fournis par ton hébergeur......
0
altechkgo Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup pour votre disponibilité,
mon souci est résolut.
le problème était lié au fichier includes.php
0