Bonjour,

J'utilise une variable globale PHP, le code fonctionne très bien sur un de mes sites.

Sur un autre site, j'utilise le même code (mais il y a dotclear sur le site) et la variable globale n'est pas affectée, ca ne fonctionne pas.

Les variables globales sont bien à ON au niveau du phpinfo().


ci-dessous le code, merci pour toute aide (point à vérifier etc.), je sèche :


Au niveau de la fonction ListFiles,
Variable en question : $moistxt



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
<?php
require_once "legend.php";
 
## globales
 
$moistxt = array("","01"=>"janvier","02"=>"fevrier","03"=>"mars","04"=>"avril","05"=>"mai","06"=>"juin","07"=>"juillet","08"=>"aout","09"=>"septembre","10"=>"octobre","11"=>"novembre","12"=>"decembre");
$nametxt=array("tn"=>"températures min","tx"=>"températures max","tnm"=>"moyenne des températures min","txm"=>"moyenne des températures max","tm"=>"températures moyennes","precipitations"=>"précipitations","precipmax"=>"précipitations max en un jour","ventmoyen"=>"vent moyen","ventmax"=>"rafales max");
$directs = array("N","NNE","NE","ENE","E","ESE","SE","SSE","S","SSO","SO","OSO","O","ONO","NO","NNO");
 
#dit si mensuel ou annuel
function searchFile($file){
global $moistxt;
$pars = explode("-",$file);
if ((in_array($pars[0],$moistxt) && ereg("([0-9]{4})",$pars[1])==TRUE) or $pars[0]=="NOAAMO"){
$result ="month";}
elseif (($pars[0]=="annee"&& ereg("([0-9]{4})",$pars[1])==TRUE)or $pars[0]=="NOAAYR")
{$result = "year";}
else {$result="";}
return $result;
}
 
#liste les fichiers valides du repertoire et les classe par ordre décroissant et par type (mois ou année)
function listFiles(){
//$moistxt = array("","01"=>"janvier","02"=>"fevrier","03"=>"mars","04"=>"avril","05"=>"mai","06"=>"juin","07"=>"juillet","08"=>"aout","09"=>"septembre","10"=>"octobre","11"=>"novembre","12"=>"decembre");
 
global $moistxt;
//echo "mois :";
 
echo $moistxt; // RIEN NE S'AFFICHE 
$rep=".";

L'appel se fait dans une autre page :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
require_once "releves-meteo/fonctions.php";
//afficheMenu();
if($_GET[fichier]==""){$_GET[fichier]="NOAAYR";}
afficheform("annuels",$_GET[fichier]);
AfficheForm appelle ListFiles (les 2 fonctions sont dans la même page PHP ) :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function afficheForm($type,$file){
list($mensuels,$annuels)=listFiles();
if($mensuels!="" && $type=="mensuels"){
echo "<form method=\"get\" action=\"\">\n <p>Rapports mensuels : \n<select name=\"fichier\">\n";
for($i=0;$i<sizeof($mensuels);$i++){
echo "<option value=\"$mensuels[$i]\""; if($mensuels[$i]==$file){echo" selected=\"selected\"";} echo">".gettitre($mensuels[$i])."</option>\n";
}
echo "</select>\n <input type=\"submit\" value=\"afficher\"/></p>\n</form>\n";
}
if($annuels!="" && $type=="annuels"){
echo "<form method=\"get\" action=\"\">\n <p>Rapports annuels : \n<select name=\"fichier\">\n";
for($i=0;$i<sizeof($annuels);$i++){
echo "<option value=\"$annuels[$i]\""; if($annuels[$i]==$file){echo" selected=\"selected\"";} echo">".gettitre($annuels[$i])."</option>\n";
}
echo "</select>\n <input type=\"submit\" value=\"afficher\"/></p>\n</form>";
}
}