我正在为我的学校开发一个项目,用于使用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文件中的值是什么,并将其作为我的下拉列表的默认值? 因此,只要用户更改频率,默认值就会在下拉菜单中更改。
谢谢!
答案 0 :(得分:0)
然后使用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>
您可以为每个选项执行此操作。