Page 1 sur 1
Variables qui meurent ??!!
Posté : 30 mars 2007, 10:58
par djeek9006
Bonjour,
je ne comprends pas : j'ai un fichier qui attribue un tableau à une variable :
<?
[...]
while( $row = mysql_fetch_assoc( $rslt ) )
{
$line[$i]=$row['number'];
$i++;
}
?>
Et après sur une autre page :
FONCTIONNE PAS :
<? include('http://www.monsite.com/fichierdudessus.php');?>
<? echo $line[1];?>
FONCTIONNE :
<?
[...]
while( $row = mysql_fetch_assoc( $rslt ) )
{
$line[$i]=$row['number'];
$i++;
}
?>
<? echo $line[1];?>
La variable est elle perdue dans l'include ??!!
Si quelqu'un peut m'aider ..
Merci beaucoup.
Posté : 30 mars 2007, 11:28
par Ryle
Utilise un chemin relatif et non pas une url pour inclure ton fichier, tu auras de meilleurs résultats
Il me semble que si tu inclues une url, pour des raisons évidentes de sécurité, tu n'auras accès qu'au résultat du script comme s'il s'agissait d'une page html et pas d'un script php (et heureusement, sinon on pourrait afficher les codes sources php de n'importe quel site, en piquer les infos de connexion, etc.

)
Posté : 30 mars 2007, 11:42
par djeek9006
Ok pour le chemin relatif.
Mais question sécurité, tu veux dire que si je met
<?
$connect = mysql_connect('localhost', 'djib32_djib32', 'heycestsecret!!');
mysql_select_db('djib32_sites');
?>
sur une page php "qui est ouverte et lue", on peut récupérer les codes ??!!!
Posté : 30 mars 2007, 11:47
par Ultim4T0m
Non, ça, c'était au cas où l'on pourrait inclure une url grâce à cette fonction.
Là ne t'en fais pas pour tes identifiants

Posté : 30 mars 2007, 12:02
par djeek9006
Je pensais que le chemin relatif était facile, mais non ...
J'ai la page "avis.php", qui est dans le même répertoire que "triagedatephp.php"
<? include '/home/djib32/public_html/webcompa/com/'.'triagedatephp.php'."?site=$id";?>
<? include '../home/djib32/public_html/webcompa/com/triagedatephp.php'."?site=$id";?>
<? include 'triagedatephp.php'."?site=$id";?>
<? include "triagedatephp?site=$id";?>
<? include 'triagedatephp?site='.$id.'';?>
J'ai du faire 25 combinaisons possibles ... mais rien de tout ca fonctionne ....A chaque fois il me dit qu'il ne trouve pas le fichier ... Bien sur il y est =)
Posté : 30 mars 2007, 12:05
par Ultim4T0m
Tu as quelques soucis au niveau de la concaténation...
Si les deux fichiers sont dans le même dossier, cela devrait fonctionner :
include('./triagedatephp.php?site='.$id);
Posté : 30 mars 2007, 12:12
par djeek9006
Idem, ca ne marche pas ... bizzare.
Le message d'erreur :
Warning: main(./triagedatephp.php?site=cdiscount) [function.main]: failed to open stream: No such file or directory in /home/djib32/public_html/webcompa/com/avis.php on line 117
Posté : 30 mars 2007, 12:14
par Ultim4T0m
Il faut savoir lire les erreurs
No such file or directory in /home/djib32/public_html/webcompa/com/avis.php on line 117
Posté : 30 mars 2007, 12:17
par djeek9006
Et bien c'est la ligne qui correspond au
include('./triagedatephp.php?site='.$id);
Et le triagedatephp.php marche nickel à coté, quand on le lance directement..
Posté : 30 mars 2007, 12:22
par Ultim4T0m
C'est de ça dont je parlais : No such file or directory
Tu es sûr que les deux fichiers sont dans le même dossier, que le nom est bon ?
Posté : 30 mars 2007, 12:24
par Ryle
Ne passe pas de variable dans le chemin de l'include
Tu vas inclure le code à l'endroit de l'include comme s'il y avait été tapé, il suffit d'avoir défini les variables au prélable pour pouvoir les y utiliser :
$site = $id;
include('triagedatephp.php');
Pour rappel :
"./" correspond au dossier local
"../" correspond au dossier parent
"/" correspond à la racine du système de fichier
Posté : 30 mars 2007, 12:50
par Ultim4T0m
Bon, ok je me suis trompé... ^^ Mais j'avoue que je n'avais jamais tenté de passer des paramètres dans un fichier inclut puisque je définis toutes mes variables avant..
Disons que ses include m'ont perturbés
ok ? =)
Posté : 30 mars 2007, 14:47
par djeek9006
Nickel ca marche merci bcp.
Je ne sais pas si ca a changé qqchose, mais au passage j'ai passé la variable à renvoyer en global ...