下拉菜单,默认值来自txt文件

时间:2016-06-26 19:29:53

标签: php html file dropdown

我正在为我的学校开发一个项目,用于使用HTML GUI修改linux路由器中的基本无线参数。我主要用php工作。到目前为止,我一直很好,但现在我卡住了,我找不到任何明确的解决方案来解决我的小问题。

我有以下内容:

<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>

我使用FTP上传,通过php脚本将命令选项2432(channel5)发布到路由器,并且它可以正常工作。我制作了一个脚本,可以自动在txt文件中下载频率。 因此,假设用户从HTML中选择并在下拉通道5中以值2432提交,我将在本地保存一个内部有2432或频率= 2432的txt。

现在我的问题是我们如何检查txt文件中的值是什么,并将其作为我的下拉列表的默认值? 因此,只要用户更改频率,默认值就会在下拉菜单中更改。

谢谢!

3 个答案:

答案 0 :(得分:0)

使用file_get_contents

阅读文件

然后使用PHP发送带有the correct default option pre-selected

的HTML

答案 1 :(得分:0)

file_get_contents用于$ 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;

答案 2 :(得分:0)

$freqNumber = file_get_contents("mytextfile.txt");(见Anthony Astige的回答) 我想在以下几行中,$ freqNumber只包含数字,如果没有,你必须用php调整它。

然后你必须检查在哪里添加&#34;选择&#34;,它告诉html哪一个是所选的默认值。您可以通过以下方式执行此操作:

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

您可以为每个选项执行此操作。