繁体   English   中英

将变量从 HTML 表单传递到 PHP

[英]Passing variables from a HTML form to PHP

我的表格中的一项提交是选择你的对手。 它有 425 个基于数据查询的选项。 表单元素是 select 列表名称 = '对手'。 这是产生用户看到的行。

while($opponent = mysqli_fetch_assoc($oresults)) {              
    echo '<option value = "'. $opponent['id'] .'">'. $opponent['school'] .'</option>';          
}

用户看到“学校”,但它会将“id”传递给 PHP。 有没有办法将值和用户看到的选项发送到 PHP?

只有对手的 'id' 进入数据表,但我还想将 'school' 发回给用户说,“你的统计数据与 'school' 已提交”。

我知道我可以用另一个查询来生成它,但我宁愿不这样做。

您可以将idschool作为字符串放在选项值中,然后将其转换为数组

echo '<option value = "'. $opponent['id'] .','. $opponent['school'] .'">'. $opponent['school'] .'</option>';

您可能会收到类似以下内容的字符串:'id,school' 接下来,将此字符串转换为数组。 参考下面的代码

$string = 'id,school'     // this is your select option value
$array = explode(',', $string)

上面的代码会给你$array = [ 'id', 'school' ]你现在可以 output 到你的页面。

echo 'Your stats '. $array[0] .' vs school '. $array[1] .' has been submitted';

您可以发送 JSON 与两个或所有数据:

echo '<option value="'.htmlentities(json_encode($opponent)).'">'.$opponent['school'].'</option>';

然后在 PHP 中:

$opponent = json_decode($_POST['opponent'], true);
echo $opponent['school'];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM