2013-05-07 64 views
1

我希望做一些真正很簡單,但我很新的PHP所以請原諒我的幼稚的URL。PHP,包括如何從另一個文件中的變量確定變量

我的要求是有一個簡單的頁面將由值從另一個文件來填充(這裏爲INC參考)(在這裏爲基地引用)。從基地輸出HTML可能是這個樣子:

<h2>Name: [dynamic string (e.g. Joe Bloggs) ]</h2> 
    <h2>Age: [dynamic value (e.g. 31) ]</h2> 
    <h2>Bio: [dynamic string (e.g. I was born and raised in the UK. My special features are rocket boots.)</h2> 

我打算使用的URL參數(如「www.mydomain.com/base.php?id=1234」)來識別的名稱在INC文件,將在get請求使用。

我不能完全肯定這是否是去了解它的最佳方式,但因爲這是一個非常簡單的項目,我想避免使用MySQL或任何其他在生產中的問題複雜化。

請你可以建議:

  1. 我應該如何構建INC PHP文件?最好是以表單或數組的形式創建變量?
  2. 我如何配置基地 PHP在那些在外部文件中設置的變量來拉

請讓我知道,如果我的邏輯是關閉&這是完全錯誤的方式去它!

正如我前面提到的,這是一個非常簡單的項目,所以我想堅持原始PHP(沒有第三方工具),因爲我正在使用它來教育自己。感謝您的任何幫助!

回答

2

絕對簡單的方法:

include_data.php:

<?php 

$name = 'Joe Bloggs'; 
$age = 31; 
$bio = 'I was born and raised ...'; 

biopage.php:

<?php 

include('include_data.php'); 

?> 

<h2>Name: <?php echo $name ?></h2> 
<h2>Age: <?php echo $age ?></h2> 
<h2>Bio: <?php echo $bio ?></h2> 

這就是你真的需要在PHP中的 「動態」 頁面。其他一切都只是更有趣,更漂亮的版本。

+0

馬克您好,感謝您的建議!所以我可以使這個動態,我想我可以改變「include_data」是一個變量來設置從URL?您可以使用 – Sheixt 2013-05-07 14:54:39

+0

,但如果您直接允許指定文件通過url包含,則會將系統打開爲巨大的安全漏洞。除非你做得對,惡意用戶可以讓你的服務器吐出你服務器上的任何文件:例如'http://example.com/bio.php?inc = ../../../../../../../etc/passwd' – 2013-05-07 15:02:08

+0

如果我只是引用id該URL(例如'www.mydomain.com/file.php?id = 1234')。並在我的PHP文件中創建一個位置會緩解這個問題? – Sheixt 2013-05-07 15:09:33

1

如果你Inc文件看起來像:

<?php 
$name = "My Name"; 
$age = 21; 
$bio = "This is my bio"; 

base.php會是這個樣子:

<?php 
$inc = $_GET['id'] . ".inc.php"; 
include($inc); // or require($inc); if you want to throw an error if $inc doesn't exist 
?> 
<h2>Name: <?=$name?></h2> 
<h2>Age: <?=$age?></h2> 
<h2>Bio: <?=$bio?></h2> 

你想附加任何子目錄中的文件INC在,如果它不是在與base.php相同的目錄。你也可以檢查$ inc文件是否真的存在,並在必要時顯示錯誤。

你可以在數組中包含inc文件中的變量,我不認爲它在這樣一個簡單的例子中有很大的不同。

相關問題