我想做的是找到一种从页面源“隐藏”选项值列表的方法。

我已经成功创建了一个包含多个下拉菜单的页面(现在有6个,总共15个以上);数据库查询有效,下拉菜单有效,过帐选择和结果在单独的处理页面中可见,但是;
选项值显示在页面源中。

页面设计(对于此示例)
test.php-包含数据库连接(稍后将其更改为单独的include_once),查询,选项值代码和表数据。
index.php-仅包含一个调用test.php的include语句。

在浏览器中运行test.php会显示查询(我不想要),并加载包含test.php的索引会隐藏查询,但会显示我不希望看到的选项。
我到处搜索(也许我没有正确询问问题),并试图在一个页面中运行sql并将结果发布到另一页面,但是我无法使其正常工作。

我想做的是:
在单独的“函数”页面中运行MySQL查询,然后将输出(选择名称)调用到另一个(HTML)页面,并将下拉列表嵌入表的单元格中。

问题:


是否可以在index.php页面中隐藏选项值?
这是我的设计缺陷吗?如果是的话,还有什么更好的方法吗?
如何在一个页面中运行查询,然后将该查询的输出作为下拉菜单调用到HTML页面中?


test.php(简化示例)

    <!--mo-->
<td colspan="2"><div align="right"><font face="Arial, Helvetica, sans-serif">
<?php
$query = "SELECT date_code_mo, date_code_mo_desc FROM tbl_gm_assy_date_code_mo ORDER BY           date_code_mo ASC";
echo '<select name="date_mo">';
if ($result = mysqli_query($link, $query)) {
while ($row = mysqli_fetch_assoc($result)) {
echo '<option value="' . $row['date_code_mo_desc'] . '">' . $row['date_code_mo'] . '</option>';
}
mysqli_free_result($result);
}
echo '</select>';
?>
</font></div></td>
<!--week-->
<td colspan="2"><div align="left"><font face="Arial, Helvetica, sans-serif">
<?php
$query = "SELECT date_code_wk, date_code_wk_desc FROM tbl_gm_assy_date_code_wk ORDER BY     date_code_wk ASC";
echo '<select name="date_wk">';
if ($result = mysqli_query($link, $query)) {
while ($row = mysqli_fetch_assoc($result)) {
echo '<option value="' . $row['date_code_wk_desc'] . '">' . $row['date_code_wk'] . '</option>';
}
mysqli_free_result($result);
}
 echo '</select>';
 ?>


index.php源(未显示表定义)

<select name="date_mo"><option value="Janurary">01</option><option value="Feburary">02</option><option value="March">03</option><option value="April">04</option><option value="May">05</option><option value="June">06</option><option value="July">07</option><option value="August">08</option><option value="September">09</option><option value="October">10</option><option value="November">11</option><option value="December">12</option></select>

<select name="date_wk"><option value="First">A</option><option value="Second">B</option><option value="Third">C</option><option value="Fourth">D</option><option value="Fifth">E</option></select>


我已经在这里使用了很多示例来说明这一点,并且我相信这是一个小小的遗漏,无论谢谢大家!

最佳答案

我不确定我是否理解您的问题。

1)
我不明白您为什么担心页面源中的选项值,它们只是发送到服务器的值。在哪里解释它们并获得其含义。您可以将它们更改为所需的任何内容。用户仅看到客户端代码(显示选项标签的位置),而用户看不到服务器代码。 ->用户可以看到选项标签的值,但是不知道在服务器端如何处理它们。

2)见1)

3)提交表单时,值将发送到使用action属性指定的url:

<form action="evaluate.php"  method="post">
  ...
</form>


Evaluation.php的输出将发送到客户端->这是用户将看到的下一页。有关此处形成下拉菜单的语法:
Pre-filling select tags from array

要检索发送的值,请查看以下内容:

$ _GET ['varname']或$ _POST ['varname']数组。根据form标记中指定的方法,发送的值存储在此处。

其中varname = form元素的名称名称。取决于形式的类型,提取值或多或少是微不足道的。有很多教程,非常容易找到。

我还建议看看以下主题:
How can I prevent SQL injection in PHP?

08-04 17:26