2011-06-08 199 views
1

我對HTML/PHP還是比較陌生,想弄清楚如何簡化我的頁面。我想嘗試從包含另一個PHP文件的頁面傳遞一個變量。HTML/PHP變量傳遞

例如:

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

那麼我想在我的quotes.php文件中使用這個變量名,$ NAME = '保守黨'。我不確定是否正確的方法,因爲如果我嘗試在我的quotes.php文件中使用變量$ name,它說「name」是未定義的。

已回答問題。需要切換語句。謝謝你們!

回答

5

分配$name包括其他文件之前變量:

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

應該指出,這是非常糟糕的設計,但! – kieran 2011-06-08 14:17:10

+0

確實 - 應該。 ;) – hsz 2011-06-08 14:17:25

+0

這樣做。謝謝。 – tnw 2011-06-08 14:19:19

2

你需要包括quotes.php之前先定義$名稱。

+0

arr,幾秒太遲 – pduersteler 2011-06-08 14:14:23

3

扭轉這種局面:

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

不能使用一個變量被宣佈之前。

在你的例子中,你在$ name變量聲明之前加入了quotes.php,它永遠不會工作。

你可以做

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

現在,$名稱中的「quotes.php」

3

你在做什麼不一定去它的最好辦法,但要解決存在於您的具體的問題,只需在包含文件之前定義變量即可。然後該變量將在全局範圍內並在包含文件中可用。

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

您必須聲明變量$name以前包括文件。

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

這很有道理,因爲您包含的文件將被解析並執行,然後繼續前進。

+0

這樣做。謝謝。 – tnw 2011-06-08 14:19:12

1

該語句按順序執行。就好像您在腳本中找到include語句的位置複製並粘貼了quotes.php的內容。因此,在執行quotes.php時,定義$name的語句尚未發生。因此,要獲得您想要的行爲,您應該顛倒這兩條語句的順序。