【问题标题】:PHP - Handle POST Form using select options as arrayPHP - 使用选择选项作为数组处理 POST 表单
【发布时间】:2013-03-20 23:05:29
【问题描述】:

我有以下表格,其中有 3 个下拉框,每个额外的一个,每个都有一个可以选择的不同“数量”(即 0-1、0-2、0-3)。每个选择的选择名称都相同,但我已将每个选择的 id 传递给它以创建一个数组。

我现在不知道如何从发布的表单中获取结果?

我需要能够知道选择了哪些额外的值大于 0。所以我需要能够知道选择了多少额外 [1],有多少额外 [2] 和等等……

<form action="xxx.php" method="post">
<table width="100%">
<tr>
    <td>
        Option 1
    </td>
    <td>
        &pound;9.99
    </td>
    <td>
        <select name="extra[1]"><option value="0">0</option><option value="1">1</option><option value="2">2</option></select>
    </td>
</tr>

<tr>
    <td>
        Option 2
    </td>
    <td>
        &pound;14.99
    </td>
    <td>
        <select name="extra[2]"><option value="0">0</option><option value="1">1</option></select>
    </td>
</tr>

<tr>
    <td>
        Option 3
    </td>
    <td>
        &pound;24.99
    </td>
    <td>
        <select name="extra[3]"><option value="0">0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option></select>
    </td>
</tr>

【问题讨论】:

  • 你看过print_r($_POST)吗?你应该在$_POST['extra'] 中有一个数组,你可以像任何其他数组一样循环它。

标签: php arrays forms option


【解决方案1】:

直接访问有点生疏(用于 Symfony),应该能够引用这样的值(在表单提交之后):

// xxx.php

// Could use $_POST if you want, but I've always used $_REQUEST
$extras = $_REQUEST['extra'];

$extra1 = $extras[1];
$extra2 = $extras[2];
$extra3 = $extras[3];

【讨论】:

    猜你喜欢
    • 2016-01-23
    • 2017-11-11
    • 2018-03-20
    • 2016-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    相关资源
    最近更新 更多