2016-06-26 46 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;