我的問題如下,如果有人可以幫助解釋爲什麼以下情況正在發生,以及如何解決它;這將是驚人的!感到困惑的東西發生與包括+回聲
我的問題的長短,是我寫了一些代碼(在主腳本內完全起作用!),但我需要將此代碼放在多個腳本中。所以我試圖把這個代碼放到'include'文件中。
當包含文件被執行時,只有'echo'TEST「;」從'$ _GET ['ffd'];'變量被寫入HTML頁面。我非常困惑,爲什麼它很重要 - 因爲其他東西應該寫入頁面,無論...'_ _GET ['ffd'];''的{_ _}之下的'echo'語句;''從不寫入HTML頁面。
我知道這些文件存在,因爲當腳本在主腳本(沒有包含)內運行時,它會查找這些文件並將這些表單正確放置在HTML頁面上。
這是包含在我一直在使用的主腳本中。 (當我的代碼從主腳本移到其中包括文件)
include("includes/forcedlfile.inc");
的,其中包括文件的內容是相同的,在底部顯示的PHP腳本的內容(即,複製和粘貼)時內跑主PHP腳本或包含的.inc文件。
腳本執行:
//THE BIT THAT ALWAYS ECHO's TO THE HTML PAGE
if(isset($_GET['ffd']))
{
echo "TEST";
//OTHER THINGS NOT RELEVANT HERE
}
//CODE THAT SHOULD BE EXECUTED REGARDLESS OF BEING WITHIN THE MAIN BODY OF THE SCRIPT OR WITHIN AN INCLUDES FILE
$homeworkid_dir = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'homeworktasks' . DIRECTORY_SEPARATOR . $chosenhomework;
if (file_exists($homeworkid_dir))
{
echo "<b>Download Homework Attachments: </b>";
$attachmentno = 0;
$contents = array_diff(scandir($homeworkid_dir, 1), array('..', '.', '.htaccess'));
foreach($contents as $file)
{
$attachmentno = $attachmentno + 1;
$file_dir = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'homeworktasks' . DIRECTORY_SEPARATOR . $chosenhomework . DIRECTORY_SEPARATOR . $file;
$btn = explode(DIRECTORY_SEPARATOR, $file_dir);
$btn = end($btn);
$dllink = end($fsh);
//ONLY WRITTEN TO PAGE WHEN WITHIN THE ORIGINAL SCRIPT, NOT 'INCLUDE' FILE
echo "<form action='".$dllink."?tsk=".$homeworkid."&ffd=y' method='post'>
Attachment ".$attachmentno.":
<input type='hidden' name='dldir' value='".$file_dir."'>
<input type='hidden' name='homeworkid' value='".$homeworkid."'>
<input type='submit' value='Click Here To Download: ".$btn."'>
</form>";
}
}
如果我把內部的文件包括和主腳本並提交表單(從主腳本)我結束了兩批「TEST」出現的在屏幕上,只有一個表單提交按鈕 - 當我應該有兩個。
我已經編輯了您的帖子中的全部大寫,但您可以在將來也這樣做。它有點難以確定「包含」文件中的內容,什麼不是。你可以編輯你的問題,所以有兩個代碼塊,一個用於「主要腳本」,另一個用於「包含文件」? – 2013-07-14 23:45:30
謝謝,我將來會使用論壇的黑體標籤,但是zpr已經回答並解決了我的問題,所以我不會浪費任何時間,讓你看看已經修復過的東西:) – Justice