Jump to content

[Resolu] - Probleme page blanche pour certaines parties de l'admin


Mambe

Recommended Posts

Bonjour,

Suite à l'installation de la version 1.1 de PrestaShop sur un serveur dédié, des problèmes d'accès à certaines parties de l'admin sont apparue.

En effet, je ne peut pas accéder aux parties suivantes de l'admin :

-Outils - > Sous domaines
-Outils - > Langues

-Préférence - > Méta-Tags

-Modules

-Transport - > Pays

-Paiement

-Commandes - > Messages prédéfinis

-Catalogue - > Attributs et groupes

Une page blanche s'affiche à la place. Touts les autres onglets sont fonctionnels et affiche bien ce qu'il faut.

La config du serveur est la suivante :
serveur dédié Linux hébérgé par OVH
PHP 5.0.4
Apache 2.0.54

Après recherches, la source de l'erreur proviendrait du fichier header.inc.php
Une erreur survient lors de la récupération des informations concernant les onglets de navigations (problèmes avec les retours de la classe Tab ?).

J'ai effectué l'install plusieurs fois en suivant bien les différents tutos disponibles mais aucun résultat positif.

Est-ce que d'autres personnes on connus ou connaissent ces problèmes d'accès à certaines parties de l'admin?

Serait-ce un problème lié aux versions d'apache ou de PHP?

Ou serait-ce un problème itinérant à des serveurs UNIX ? Car en effectuant les mêmes opérations d'installations sur un système Windows, avec les mêmes version de PHP et Apache que mon serveur UNIX, aucun problème apparait et je peut bien accéder à toutes les configurations de la parties admin.

Merci pour votre attention.

Link to comment
Share on other sites

Quelques précisions sur mon problème.

Après des recherches plus approfondies, j'ai remarqué que c'était la fonction checkTabRights() appelé dans le fichier header.inc.php lors de la gestion de l'affichage des onglets de navigations.
En effet, lorsque j'enlève cette fonction de vérification des droits selon l'utilisateur et l'onglet demandé, la page s'affiche correctement.

J'ai vérifié dans la base de données les différents droits d'accès selon la requête exécuté dans la fonction checkTabRights() ainsi que selon la requête exécuté dans la methode getprofileAccess() de la classe Profile et tout est correct.

D'autres personnes ont-ils eu ce genre de problème ?

Link to comment
Share on other sites

Informations supplémentaires :

L'impossibilité de voir correctement les pages cités précédemment proviendrait de la methode getProfileAccess() de la classe Profile.

Dans la fonction checkTabRights() du fichier toolbar.php

function checkTabRights($id_tab)
{
   global $cookie;

   $tabAccess = Profile::getProfileAccess($cookie->profile, intval($id_tab));

   if ($tabAccess['view'] === '1')
       return (true);
   return (false);
}


Je modifie cette fonction :

function checkTabRights($id_tab)
{
   global $cookie;

   //$tabAccess = Profile::getProfileAccess($cookie->profile, intval($id_tab));
   $sql = '
            SELECT `view`, `add`, `edit`, `delete`
           FROM `'._DB_PREFIX_.'access`
           WHERE `id_profile` = '.intval($cookie->profile).' AND `id_tab` = '.intval($id_tab);
    $tabAccess = Db::getInstance()->getRow($sql);

   if ($tabAccess['view'] === '1')
       return (true);
   return (false);
}



Avec la modification, les différentes pages blanches que j'avais n'apparaissent plus et le contenu des pages s'affiche correctement.

Quelqu'un aurait une idée sur l'origine du problème?

Link to comment
Share on other sites

Rectification de mon précédent post.

En effet, la modification apporté porte ses fruits mais pas pour tous mes onglets qui ne fonctionnent pas !
Mais bon j'avance, m'en reste plus que 3 qui ne marche pas.
J'ai toujours une page blanche à la place du contenu dans les pages suivantes :

Préférence - > Méta-Tags
Transport - > Pays
Commandes - > Messages prédéfinis

Nommam, j'ai vérifié les différents fichiers appelés et ils sont bien présent et ne sont pas vides.

Link to comment
Share on other sites

Informations supplémentaires :

Il semble cette fois-ci que c'est dans la fonction checkingTab() du fichier toolbar.php qu'il y aurait un problème.

En effet, une partie du code de cette fonction pose problème :

if (!class_exists($tab, false) OR !$id_tab)
   {
       echo Tools::displayError('Tab does not exist');
       return false;
   }



et plus particulièrement la fonction class_exists().

Si je ne tient pas compte de la condition

!class_exists($tab, false) 



, les pages s'affichent correctements.

Là je ne vois pas ...

Link to comment
Share on other sites

Après recherche, ce n'est pas la fonction php "class_exists" qui ne fonctionne pas mais un problème avec la variable "$tab".

En effet, il y a un problème lors de l'utilisation de cette variable.

En modifiant le code comme ceci :

$tab = trim($tab);

   if (!class_exists($tab, false) OR !$id_tab)
   {
       echo Tools::displayError('Tab does not exist');
       return false;
   }

Link to comment
Share on other sites

Suite de mon poste (planté de touche :)).

En faisant cette modification, les 3 pages qui s'affichaient blanches, apparaissent normalement avec le contenu.

Je ne pense pas que c'est un problème d'encodage des variables mais plutôt un problème avec les typages (sachant très bien qu'il n'y pas de typage des variables spécifiques dans php) mais je ne vois pas ce que ça pourrait être d'autre.

De quoi pourrait provenir ce dysfonctionnement?

Personne d'autres à déjà eu des problèmes avec certaines variables car je trouve étrange que je sois le seul à qui ça arrive.

Link to comment
Share on other sites

Bonjour Philippe,

oui oui ca m'a bien aidé (même si j 'ai vraiment bien galéré pour trouver ça), mais auriez-vous une explication (ou une piste de recherche) sur les différents problèmes que j 'ai pu rencontrer sur l'affichage de certaines parties de l'admin?

Notamment sur la première modification que j 'ai effectuée, qui consistait à ne pas appeler une certaine méthode de la classe Profile (getProfileAccess()) .

Merci.

Link to comment
Share on other sites

Non absolument pas, cela peut-être du à une configuration particulière de votre serveur, au niveau de PHP.
Il ya de nombreux bugs "inexplicables" dans ce style (tout comme les erreurs 500 d'Apache à gogo).

Il faudrait faire un débug approfondi sur votre serveur.

Link to comment
Share on other sites

Ca a bien l'air d'être à cause de la version de PHP5.
La version 5.0.4 ne semble pas assez récente pour déployer Prestashop correctement.

Il me semble qu'il serait bien de préciser que toutes les versions de PHP5 ne sont pas compatible et qu'il faut au moins une version 5.1 de PHP5 (à tester pour confirmer -- test perso. effectuées avec les versions 5.2 et tout semble OK) .

Link to comment
Share on other sites

  • 3 months later...

J'ai exactement la même config chez OVH (et même version de php) et j'ai eu exactement les mêmes problèmes d'affichage dans l'admin.

J'ai appliqué tes modifs de code dans toolbar.php et tout est rentré dans l'ordre, plus aucune page blanche dans l'admin !

Merci !!!!

Link to comment
Share on other sites

  • 1 year later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...