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   -
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   Statut Contributeur Dernière intervention   782
 
T'as le code de "galerie.php" s'il te plait?
0
dimi3 Messages postés 269 Date d'inscription   Statut Membre Dernière intervention   20
 
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   Statut Contributeur Dernière intervention   782
 
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   Statut Membre Dernière intervention   20
 
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   Statut Contributeur Dernière intervention   782
 
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   Statut Membre Dernière intervention   20
 
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   Statut Contributeur Dernière intervention   782
 
Et avant, quelque chose s'affichait?
0
dimi3 Messages postés 269 Date d'inscription   Statut Membre Dernière intervention   20
 
Oui tout s'affichait, précédé des 3 avertissements.
0
Jug4tsu Messages postés 56 Date d'inscription   Statut Membre Dernière intervention   13
 
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   Statut Contributeur Dernière intervention   181
 
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   Statut Membre Dernière intervention   20
 
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   Statut Membre Dernière intervention   20
 
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   Statut Contributeur Dernière intervention   181
 
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   Statut Membre Dernière intervention   20
 
Oui j'ai essayé le 0. Mais rien n'y fait !
0
dimi3 Messages postés 269 Date d'inscription   Statut Membre Dernière intervention   20
 
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   Statut Membre Dernière intervention   20
 
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   Statut Contributeur Dernière intervention   181
 
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   Statut Contributeur Dernière intervention   782
 
et ça résous encore moins les erreurs...
0
dimi3 Messages postés 269 Date d'inscription   Statut Membre Dernière intervention   20
 
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