2016-06-26 47 views
0

我正在爲我的學校開發一個項目,用於使用HTML GUI修改Linux路由器中的基本無線參數。我主要使用php。到目前爲止,我一直很好,但現在我卡住了,我找不到任何明確的解決方案,爲我的小問題。從txt文件中使用默認值的下拉菜單

我有以下下拉:

<form method="post" action="changefrequency.php"> 
<select name="freq"> 
<option value="auto">Auto</option> 
<option value="2412">Channel 1</option> 
<option value="2417">Channel 2</option> 
<option value="2422">Channel 3</option> 
<option value="2427">Channel 4</option> 
<option value="2432">Channel 5 </option> 
<option value="2437">Channel 6</option> 
<option value="2442">Channel 7</option> 
<option value="2447">Channel 8</option> 
<option value="2452">Channel 9</option> 
<option value="2457">Channel 10</option> 
<option value="2462">Channel 11</option> 
<option value="2467">Channel 12</option> 
</select> 
    <input type="submit" value="Set Frequency"/> 
</form> 
</div> 

我張貼的價值假設選項2432(CHANNEL5)通過PHP腳本路由器使用FTP上傳它裏面的命令,它工作正常。我做了一個腳本,它會自動下載一個txt文件的頻率。 因此,假設用戶從HTML中選擇並在下拉通道5中使用值2432提交,我將在本地保存一個內含2432或頻率= 2432的txt。

現在我的問題是我們如何檢查txt文件中的值,並將其作爲我的下拉菜單的默認值? 因此,無論何時用戶更改頻率,默認值都將在下拉菜單中更改。

謝謝!

回答

0

$freqNumber = file_get_contents("mytextfile.txt");(見安東尼Astige答案) 我想在下面的行,即$ freqNumber只包含數字,如果不是,你必須用php調整它。

然後,你必須檢查在哪裏添加「選擇」,它告訴html哪一個是選擇的默認值。您可以通過以下方式執行此操作:

<option value="2412" <?php if($freqNumber == 2412){echo " selected";} ?>>Channel 1</option> 

您可以對每個選項執行此操作。

0

閱讀與file_get_contents

文件,然後使用PHP與the correct default option pre-selected

+0

我知道file_get_contents,我可以在另一個文本框架中顯示它,例如:frequncey是:2432,這個想法是如何使下拉的默認值爲 –

+0

我已經更新了我的答案 –

+0

謝謝你試圖幫助但是它必須從txt文件讀取它的默認值。默認值必須動態更改,以便用戶打開多次,比如index.html必須讀取.txt文件,並且要更改或檢查默認值。任何想法如何做到這一點? –

0

使用file_get_contents發送HTML到$ VAL,然後用

<option value="2412" <?php if($val == '2412'): ?>selected<?php endif; ?>>Channel 1</option> 

當然,這是乏味做的所以我建議你將所有這些存儲在一個陣列中,如

$frequencies = ['2412' => 'Channel 1', '2417' => 'Channel 2']; 

等,然後重複打印出類似的選項

foreach($frequencies as $k => $v): 
    if($k == $val) 
     $selected = 'selected'; 
    else 
     $selected = ''; 
    echo '<option value="' . $k . '" ' . $selected .' >' . $v . '</option>'; 
endforeach;