2011-06-08 8 views
1

Je suis encore un peu nouveau sur HTML/PHP et je voulais trouver un moyen de rationaliser un peu plus mes pages. Je veux essayer de passer une variable de la page sur laquelle je joins un autre fichier PHP.HTML/PHP Variable Passant

Par exemple:

<?php include "quotes.php"; $name='tory'?> 

Je veux ensuite utiliser ce nom de la variable, dans mon fichier quotes.php = 'tory' $ name,. Je ne suis pas sûr si j'y vais de la bonne façon parce que si j'essaie d'utiliser la variable $ name dans mon fichier quotes.php, il est dit que "name" n'est pas défini.

La question a reçu une réponse. Nécessaire de changer les déclarations. Merci à tous!

Répondre

5

variables Assigner $name avant d'inclure d'autres fichiers:

<?php 
$name='tory'; 
include "quotes.php"; 
?> 
+1

il est à noter que c'est un mauvais design! – kieran

+0

En effet - il devrait. ;) – hsz

+0

C'est ce qu'il a fait. Je vous remercie. – tnw

2

Vous devez d'abord définir le nom de $ avant d'inclure quotes.php.

+0

arr, quelques secondes trop tard – pduersteler

3

il Inverse:

<?php $name='tory'; include "quotes.php"; ?> 
3

Vous ne pouvez pas utiliser une variable avant qu'elle ne soit déclarée.

Dans votre exemple, vous incluez quotes.php avant la déclaration de variable $ name, cela ne marchera jamais.

Vous pouvez faire

<?php $name='tory'; include "quotes.php"; ?> 

Maintenant, $ name existe dans « quotes.php »

3

Ce que vous faites est pas nécessairement la meilleure façon de s'y prendre, mais pour résoudre votre problème spécifique, définissez simplement la variable avant d'inclure le fichier. Ensuite, la variable aura une portée globale et sera disponible dans le fichier include.

<?php 
    $name = 'tory'; 
    include "quotes.php"; 
?> 
2

Vous devez déclarer la variable $nameavant y compris le fichier. Ceci est logique car le fichier que vous avez inclus sera analysé et exécuté, puis passer au reste.

+0

Cela l'a fait. Je vous remercie. – tnw

1

Les instructions sont exécutées en séquence. C'est comme si vous aviez copié-collé le contenu de quotes.php au point de votre script où l'instruction include est trouvée. Donc, au moment où vous exécutez quotes.php, l'instruction définissant $name n'est pas encore arrivée. Par conséquent, pour obtenir le comportement souhaité, vous devez inverser l'ordre des deux instructions.