PHP : erreurs selon hébergeurs

Résolu/Fermé
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 - 22 sept. 2010 à 08:51
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 - 23 sept. 2010 à 07:50
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.


A voir également:

11 réponses

Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
22 sept. 2010 à 08:58
T'as le code de "galerie.php" s'il te plait?
0
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 20
22 sept. 2010 à 10:46
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".
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
22 sept. 2010 à 10:49
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.
0
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 20
22 sept. 2010 à 11:15
Voici le code complet :
<?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 ?
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
22 sept. 2010 à 11:26
Normal qu'il ne fonctionne pas, elles ne sont pas définies. Par contre si tu les mets à NULL ou à 0, ça doit passer.
Fait un echo de ces 3 variables pour voir ce qu'il y a dedans...
0
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 20
22 sept. 2010 à 12:59
Les echos indiquent qu'il n'y a rien dans les variables

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.
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
22 sept. 2010 à 13:20
Et avant, quelque chose s'affichait?
0
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 20
22 sept. 2010 à 13:25
Oui tout s'affichait, précédé des 3 avertissements.
0
Jug4tsu Messages postés 56 Date d'inscription lundi 13 septembre 2010 Statut Membre Dernière intervention 1 septembre 2011 13
22 sept. 2010 à 14:18
Fais des var_dump plutôt que des echo, ça t'indiquera clairement si elles sont null.
Sinon, sans tes modifs, ça affiche quoi comme url dans le javascript à 'movie' et dans la balise param ?
0

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

Posez votre question
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
Modifié par jjsteing le 22/09/2010 à 14:49
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
0
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 20
22 sept. 2010 à 16:18
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.
0
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 20
Modifié par dimi3 le 22/09/2010 à 16:34
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/
0
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
22 sept. 2010 à 16:58
As tu essayé ma manip ?? a savoir :

if isset($_GET['gallerie']){
$gallerie=$_GET['gallerie'];
}else{
$gallerie=0;
}

0
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 20
22 sept. 2010 à 18:37
Oui j'ai essayé le 0. Mais rien n'y fait !
0
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 20
22 sept. 2010 à 20:10
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 ?
0
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 20
22 sept. 2010 à 20:47
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.
0
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
22 sept. 2010 à 20:54
mouai... c est pas une solution, ca t affichera pas les erreurs, c est un fait, mais ca t affichera pas non plus tes futures erreurs non plus....
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
22 sept. 2010 à 22:53
et ça résous encore moins les erreurs...
0
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 20
23 sept. 2010 à 07:50
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.
0