2012-03-20 56 views
1

我想創建一個PHP文件,將掃描一個目錄,使動態單選按鈕的列表,並讓用戶選擇一個並提交它,它應該將其傳遞到另一個PHP文件,會發送它,但我有提交按鈕的問題。想知道我是否可以得到一些答案,一直在環視網絡,並沒有找到任何東西。 這裏是我的代碼:PHP動態單選按鈕和提交按鈕

<?php 

ini_set('display_errors',true); 
//Scan directory (ripped from another site) 
$directory = opendir("download"); 
while($entry = readdir($directory)) { 
    $dirArray[] = $entry; 
} 
closedir($directory); 
$indexCount = count($dirArray); 
sort($dirArray); 

//Make the Radio Button list 
$RList = ""; 
for($i=2; $i<count($dirArray); $i++) { 
    $value = $dirArray[$i]; 
    $RList .= "<input type=\"radio\" name=\"Files\" value=".$value." />".$value."<br />"; 
} 
//Submit button 
$RButton = '<input type="button" value="Submit" 
onclick="location.href=\'http://localhost/appClient/load.php?file='.$value.'\'">'; 
echo $RList.$RButton; 
#echo $_POST["Files"]; 

?> 

感謝

+0

你有什麼麻煩?什麼不適合你當前的代碼?請更具體一些。 – Bojangles 2012-03-20 21:20:48

+0

你已經太多的單選按鈕並提交按鈕! – hjpotter92 2012-03-20 21:23:32

+0

@JamWaffles當我點擊提交時,它沒有得到正確的文件,所以$ value沒有傳遞正確的數據時出現問題。那麼如何在提交點擊中將用戶選擇的文件名傳遞給load.php呢? – 2012-03-20 21:45:40

回答

1

它看起來像你傳遞$value到onclick事件。由於這不在PHP循環之中,所以它最終總是最後的$value

要解決此問題,請使用javascript從無線電獲取選定值並將其附加到onclick重定向。

更棒的是,您的load.php文件應該只是簡單地檢查您的$_POST中的「文件」鍵並使用它,而不是使用GET。畢竟,這是提交單選按鈕的要點。

+0

哦,我沒有注意到。我對這一切都相當陌生,但有沒有辦法通過PHP來做到這一點?如果沒有,我會在PHP編程塊中使用JavaScript嗎?或者我會從PHP調用一個外部的JavaScript函數? – 2012-03-20 21:49:57

+0

要通過PHP來實現,請使用POST方法的適當表單標籤,並在提交時在$ _POST ['Files']'中提供。不需要onclick。 – jeremyharris 2012-03-20 22:01:11

+0

太棒了!終於搞定了!謝謝大家幫助! @ jeremyharris&alvariux – 2012-03-20 22:32:45

-1

我沒有看到<form>標籤,嘗試添加它,因爲所有按鈕和輸入必須是內<form>

請問你的腳本已經調用文件load.php或按鈕只是不工作?

+0

我不認爲他需要使用表單標籤。他在原始代碼中傳遞鏈接:'$ RButton ='';' – hjpotter92 2012-03-20 21:28:41

+0

我不知道如何正確地將$ value傳遞給load.php。它將始終傳遞相同的文件。即使選擇了另一個。是的,我硬編碼它,因爲即時通訊試圖如果可能的話在純PHP中做到這一點。 – 2012-03-20 21:56:23

+0

as @jeremyharris sugest,嘗試使用post form'

'然後將按鈕更改爲僅 ',你需要尋找變量'$ _POST ['Files']' – alvariux 2012-03-20 22:00:58