PHP : erreurs selon hébergeurs
Résolu
dimi3
Messages postés
269
Date d'inscription
Statut
Membre
Dernière intervention
-
dimi3 Messages postés 269 Date d'inscription Statut Membre Dernière intervention -
dimi3 Messages postés 269 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Lorsque j'héberge ma galerie photos chez tel hébergeur, tout fonctionne bien. Lorsque je l'héberge, exactement dans les mêmes conditions (mêmes fichiers, mêmes dossiers, même situation des dossiers par rapport au répertoire racine, ...) j'obtiens des erreurs concernant des variables. Voici un exemple de message d'erreur retourné :
----------------------
Notice: Undefined index: galerie dans / home / (mon adresse) / photos / galeries.php en ligne 4
Notice: Undefined index: hidemenu dans / home / (mon adresse) / photos / galeries.php en ligne 5
Notice: Undefined index: uxml dans / home / (mon adresse)/ photos / galeries.php en ligne 6
----------------------
Comment cela peut-il s'expliquer ?
Je vous remercie de vos éclaircissements.
Lorsque j'héberge ma galerie photos chez tel hébergeur, tout fonctionne bien. Lorsque je l'héberge, exactement dans les mêmes conditions (mêmes fichiers, mêmes dossiers, même situation des dossiers par rapport au répertoire racine, ...) j'obtiens des erreurs concernant des variables. Voici un exemple de message d'erreur retourné :
----------------------
Notice: Undefined index: galerie dans / home / (mon adresse) / photos / galeries.php en ligne 4
Notice: Undefined index: hidemenu dans / home / (mon adresse) / photos / galeries.php en ligne 5
Notice: Undefined index: uxml dans / home / (mon adresse)/ photos / galeries.php en ligne 6
----------------------
Comment cela peut-il s'expliquer ?
Je vous remercie de vos éclaircissements.
A voir également:
- PHP : erreurs selon hébergeurs
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
11 réponses
Je vous remercie de votre réponse. Voici la partie PHP de galerie.php :
<?php
////
// GET VARIABLES FROM URL IF NEEDED
$gallerie=$_GET['gallerie'];
$hidemenu=$_GET['hidemenu'];
$uxml=$_GET['uxml'];
?>
Non seulement je ne comprends pas pourquoi chez un hébergeur tout va bien, et chez l'autre rien ne va plus, alors que j'ai téléchargé les mêms fichiers, mais je ne comprends pas non plus pourquoi l'erreur signalée pour la ligne 4 indique "Notice: Undefined index: galerie avec 1 seul "L" alors qu'à la ligne 4 le mot "gallerie" compte 2 "L".
<?php
////
// GET VARIABLES FROM URL IF NEEDED
$gallerie=$_GET['gallerie'];
$hidemenu=$_GET['hidemenu'];
$uxml=$_GET['uxml'];
?>
Non seulement je ne comprends pas pourquoi chez un hébergeur tout va bien, et chez l'autre rien ne va plus, alors que j'ai téléchargé les mêms fichiers, mais je ne comprends pas non plus pourquoi l'erreur signalée pour la ligne 4 indique "Notice: Undefined index: galerie avec 1 seul "L" alors qu'à la ligne 4 le mot "gallerie" compte 2 "L".
Il faudrait le code intégral (les numéros de lignes ne distinguent pas le php du html).
N'oublie pas de mettre ton code entre balises (petite icone <>) ce qui permet de conserver l'indentation de ton code.
Mais les messages ne sont pas des erreurs mais des notifications. Elles peuvent être désactivées en fonction de la configuration des serveurs.
N'oublie pas de mettre ton code entre balises (petite icone <>) ce qui permet de conserver l'indentation de ton code.
Mais les messages ne sont pas des erreurs mais des notifications. Elles peuvent être désactivées en fonction de la configuration des serveurs.
Voici le code complet :
---------------------------------------
Du fait que ce fichier est lancé en premier, je me demande comment les variables peuvent être récupérées puisqu'elles n'existent pas encore ???
Si je supprime les 3 lignes, le fichier ne fonctionne pas. Où le programme va-t-il donc cueillir ces trois variables ?
<?php //// // GET VARIABLES FROM URL IF NEEDED $gallerie=$_GET['gallerie']; $hidemenu=$_GET['hidemenu']; $uxml=$_GET['uxml']; // Fullscreen Allowed or transparent gallery ? $fullscreenallowed='true'; $transparentgal='window'; //// ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Galerie / Galerio</title> <!--//// // LET IT IN HEAD TAG TO LOAD THE GALLERY ////--> <script language="javascript">AC_FL_RunContent = 0;</script> <script src="AC_RunActiveContent.js" language="javascript"></script> <!--/////--> </head> <body> <center><h2><font color="red">Galeries / <i>Galerioj</i></font></h2></center><br> <!-- saved from url=(0014)about:internet --> <div align="center"><table width="90%" height="90%" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td align="center" valign="middle"><div align="center"> <!--//// // LOAD THE GALLERY ////--> <script type="text/javascript"> if (AC_FL_RunContent == 0) {alert("This page requires AC_RunActiveContent.js.");} else { AC_FL_RunContent( 'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0', 'width', '750', 'height', '450', 'src', '09', 'quality', 'high', 'pluginspage', 'http://www.macromedia.com/go/getflashplayer', 'align', 'middle', 'play', 'true', 'loop', 'true', 'scale', 'showall', 'wmode', '<?php print $transparentgal;?>', 'devicefont', 'false', 'id', '09', 'bgcolor', '#ffffff', 'name', '09', 'menu', 'true', 'allowFullScreen', '<?php print $fullscreenallowed;?>', 'allowScriptAccess','sameDomain', 'movie', '09<?php $phrase1='?hidemenu='.$hidemenu.'&gallerie='.$gallerie.'&uxml='.$uxml.'&ac_reference='.getenv("HTTP_REFERER").'';print $phrase1;?>', 'salign', '' ); //end AC code } </script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload2.macromedia.com/get/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="750" height="450"> <?php $phrase1='<PARAM NAME=movie VALUE="09.swf?hidemenu='.$hidemenu.'&gallerie='.$gallerie.'&uxml='.$uxml.'&ac_reference='.getenv("HTTP_REFERER").'"/>';print $phrase1;?> <param name="quality" value="best" /> <param name="allowFullScreen" value="<?php print $fullscreenallowed;?>" /> <param name="wmode" value="<?php print $transparentgal;?>" /> <embed <?php $phrase2='src="09.swf?hidemenu='.$hidemenu.'&gallerie='.$gallerie.'&uxml='.$uxml.'&ac_reference='.getenv("HTTP_REFERER").'"';print $phrase2;?> quality="best" pluginspage="https://get.adobe.com/flashplayer/" type="application/x-shockwave-flash" width="750" height="450" align="middle" wmode="<?php print $transparentgal;?>" allowFullScreen="<?php print $fullscreenallowed;?>"></embed> </object></noscript> <!--/////--> </div></td></tr></table></div> </body> </html>
---------------------------------------
Du fait que ce fichier est lancé en premier, je me demande comment les variables peuvent être récupérées puisqu'elles n'existent pas encore ???
Si je supprime les 3 lignes, le fichier ne fonctionne pas. Où le programme va-t-il donc cueillir ces trois variables ?
Les echos indiquent qu'il n'y a rien dans les variables
J'ai essayé :
ainsi que :
La page s'affiche bien sans affichage d'avertissements, mais aucune photo ne s'affiche.
J'ai essayé :
$gallerie=NULL; $hidemenu=NULL; $uxml=NULL;
ainsi que :
$gallerie=NULL; $hidemenu=NULL; $uxml=NULL; if (isset($_GET['gallerie'])) $gallerie=$_GET['gallerie']; if (isset($_GET['hidemenu'])) $hidemenu = $_GET['hidemenu']; if (isset($_GET['uxml'])) $uxml = $_GET['uxml'];
La page s'affiche bien sans affichage d'avertissements, mais aucune photo ne s'affiche.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Hello :)
Mais non, mauvaise piste... enfin, demi mauvaise... effectivement les messages d erreurs doivent être désactivé sur ton 1er serveur...
Tu avait presque la solution...
Tu as au début de ton site $gallerie=$_GET['gallerie'];
Mais la première fois que tu affiche la page, tu n as pas la variable gallerie dans la barre d adresse ( www.monsite/mapage.php?gallerie=1) mais tu dois avoir www.monsite/mapage.php donc il te met une erreur car il ne connaît pas gallerie...
=>
if isset($_GET['gallerie']) $gallerie=$_GET['gallerie'];
else $gallerie=0;
$gallerie=0 n est pas la même chose que =NULL !!
Sur certain serveur, l initialisation est automatique.. mais avec 0 (zéro) ou '' (chaîne de caractère vide)... Pour éviter toute erreur, initialise tes variables avec la valeur que tu veux par défault (suivant si tu attend un nombre, une lettre, un mot,...)
Met le même type de code pour tous tes $Get[... ] et tu n aura plus d erreur ;)
N'hésitez pas à poser des questions, il vaut mieux être con 5 min que le rester toute sa vie ;)
N'oubliez pas de mettre votre Post en 'Résolu' quand c'est le cas :-D
Mais non, mauvaise piste... enfin, demi mauvaise... effectivement les messages d erreurs doivent être désactivé sur ton 1er serveur...
Tu avait presque la solution...
Tu as au début de ton site $gallerie=$_GET['gallerie'];
Mais la première fois que tu affiche la page, tu n as pas la variable gallerie dans la barre d adresse ( www.monsite/mapage.php?gallerie=1) mais tu dois avoir www.monsite/mapage.php donc il te met une erreur car il ne connaît pas gallerie...
=>
if isset($_GET['gallerie']) $gallerie=$_GET['gallerie'];
else $gallerie=0;
$gallerie=0 n est pas la même chose que =NULL !!
Sur certain serveur, l initialisation est automatique.. mais avec 0 (zéro) ou '' (chaîne de caractère vide)... Pour éviter toute erreur, initialise tes variables avec la valeur que tu veux par défault (suivant si tu attend un nombre, une lettre, un mot,...)
Met le même type de code pour tous tes $Get[... ] et tu n aura plus d erreur ;)
N'hésitez pas à poser des questions, il vaut mieux être con 5 min que le rester toute sa vie ;)
N'oubliez pas de mettre votre Post en 'Résolu' quand c'est le cas :-D
Les var_dump indiquent NULL NULL NULL.
Quant à l'initialisation des variables avec des valeurs par défaut, je suis bien incapable de trouver ce que pourraient bien être ces variables par défaut du fait que l'URL ne contient aucune variable. J'ai fait des essais avec des nombres (numéros de galerie par exemple), des mots (noms des galeries), rien ne fonctionne.
Ce qui m'échappe c'est pourquoi ce code est sensé recevoir des variables alors que le fichier est le premier fichier à lancer pour afficher la galerie photos et que l'URL à entrer par l'utilisateur ne contient aucune variable.
Quant à l'initialisation des variables avec des valeurs par défaut, je suis bien incapable de trouver ce que pourraient bien être ces variables par défaut du fait que l'URL ne contient aucune variable. J'ai fait des essais avec des nombres (numéros de galerie par exemple), des mots (noms des galeries), rien ne fonctionne.
Ce qui m'échappe c'est pourquoi ce code est sensé recevoir des variables alors que le fichier est le premier fichier à lancer pour afficher la galerie photos et que l'URL à entrer par l'utilisateur ne contient aucune variable.
Si cela peut faire avancer le schmilblik , voici le mode d'emploi de la galerie :
http://www.creation3d.org/galerie_dynamique/#fr6
Et on peut télécharger la galerie gratuite ici :
http://www.creation3d.org/galerie_dynamique/
http://www.creation3d.org/galerie_dynamique/#fr6
Et on peut télécharger la galerie gratuite ici :
http://www.creation3d.org/galerie_dynamique/
As tu essayé ma manip ?? a savoir :
if isset($_GET['gallerie']){
$gallerie=$_GET['gallerie'];
}else{
$gallerie=0;
}
if isset($_GET['gallerie']){
$gallerie=$_GET['gallerie'];
}else{
$gallerie=0;
}
Dans la FAQ sur le site de l'auteur je lis :
----------------------
La page qui affiche ma galerie m'affiche des "erreurs de notices" en haut de page :
"Notice : Undefined index..."
Modifier le fichier php.ini de votre serveur et désactiver les erreurs de notice :
trouvez la ligne qui commence par "error_reporting =" dans le fichier "php.ini" et la remplacer par :
error_reporting = E_ALL & ~E_NOTICE (sans ; devant)
----------------------
Ces avertissements ont donc été rencontrés par d'autres utilisateurs.
Le problème c'est que mon site n'est pas sur un serveur personnel !!! Le problème est-il donc insoluble ? Dois-je abandonner ?
----------------------
La page qui affiche ma galerie m'affiche des "erreurs de notices" en haut de page :
"Notice : Undefined index..."
Modifier le fichier php.ini de votre serveur et désactiver les erreurs de notice :
trouvez la ligne qui commence par "error_reporting =" dans le fichier "php.ini" et la remplacer par :
error_reporting = E_ALL & ~E_NOTICE (sans ; devant)
----------------------
Ces avertissements ont donc été rencontrés par d'autres utilisateurs.
Le problème c'est que mon site n'est pas sur un serveur personnel !!! Le problème est-il donc insoluble ? Dois-je abandonner ?
L'auteur du script m'a indiqué la solution : Ecrire au début du fichier error_reporting(0);
Ca marche parfaitement.
Merci à vous tous pour votre temps et votre attention.
Ca marche parfaitement.
Merci à vous tous pour votre temps et votre attention.
Oui, bien sûr. Mais ce script n'est pas le mien et les erreurs non fatales empêchaient le programme de s'exécuter. Je n'ai donc pas trop le choix. Et je suis bien incapable moi-même de faire le script d'une galerie aussi réussie au point de vue esthétique. Merci encore à vous pour l'attention que vous avez portée à mes questions.