PHP从提交按钮获取名称值

时间:2017-01-19 09:47:35

标签: php forms

我已经搜索了这个问题的解决方案,我最接近的是this answer,但它没有提供足够的解释。

以下按钮包含锦标赛名称和锦标赛号码。

<input type="submit" name="<?php echo $tournament.$weekNumber ?>" />

比赛可以有所不同,即有不同的名字和圆号。单击按钮并提交表单时,如何获得按钮名称中包含的锦标赛名称和轮次号码?

我试过了

foreach($_POST as $name => $content) { //echo "The TOURNAMENT NAME IS: $name <br>"; $tournament = $name; }

问题...... 它给了我圆形数字和锦标赛名称连接 ....

我可以使用substr()分开比赛和比赛,但由于锦标赛名称和回合数字可能会有所不同,所以不会有效...

我需要比赛名称和周号,它在按钮名name="<?php echo $tournament.$weekNumber ?>"

中连接起来

4 个答案:

答案 0 :(得分:2)

当您连接两个变量时,您可以添加一个可用于拆分的唯一字符串。

例如

<input type="submit" name="<?php echo $tournament.'|-|'.$weekNumber ?>"  />

在PHP代码中,您可以这样做:

foreach($_POST as $name => $content) {
    //echo "The TOURNAMENT NAME IS: $name <br>";
    list ($tournament, $weekNumber) = explode('|-|', $name);
}

答案 1 :(得分:2)

试试这个: 用asymbol分隔名称,然后拆分。

<input type="submit" name="<?php echo $tournament.'_'.$weekNumber ?>"  />

foreach($_POST as $name => $content) {
        //echo "The TOURNAMENT NAME IS: $name <br>";
        list($tournament, $round) = explode('_', $name);
    }

答案 2 :(得分:1)

为什么不这样做:

<input type="submit" name="tournament[<?php echo $tournament ?>][<?php $weekNumber ?>]"  />

然后

if (isset($_POST["tournament"]) {
foreach ($_POST["tournament"] as $tournament => $weeks) {
       foreach ($weeks as $round=> $value) {
             //Do stuff
       }
}

答案 3 :(得分:1)

为什么不使用隐藏值。

<input type="hidden" name="tournament" value="<?php echo $tournament ?>" />
<input type="hidden" name="weekNumber " value="<?php echo $weekNumber ?>" />

<input type="submit" name="<?php echo $tournament.$weekNumber ?>"  />

现在你可以获得两个价值。