抓取另一个表单元素并存储为变量

时间:2017-02-26 11:42:39

标签: php

很抱歉这可能是一个非常简单的问题,但我正在尝试从我的php表单中获取一些信息:

这是我当前的代码,适用于帖子名称,但是如果我也想抓住所选择的颜色框呢?

main.php

<?php 

if (isset($_POST['submit'])) {
   $data = $_POST['name']; // the data from the form input.
}


$colour_array = [
"red" => "#9E2A2B",
"blue" => "#3E5C76",
"green" => "#335C67",
];

?>

 ...
    <form action="/" method="post">
    <input type="text" name="name" placeholder="Acme Corp"/>
    <input name="colour" type="checkbox" value="red">Red<br>
    <input name="colour" type="checkbox" value="blue">Blue<br>
    <input name="colour" type="checkbox" value="green">Green<br>
    <input type="submit" name="submit" value="Submit">
    </form>
    <img src="pngfile.php?data=<?php print urlencode($data);?>"
          alt="png php file">

我想我很困惑,因为目前它正在调用它:

pngfile.php

<?php
    require_once 'functions.php';  // Requires and includes do not need brackets.
   $inputData = urldecode($_GET['data']);
   process($inputData);
   exit;
?>

调用functions.php

<?php
function process($inputdata)
{
...

问题是我希望能够从表单中分离出值,因此我将输入框和颜色选择分别放在单独的变量中。

编辑:我尝试过:

main.php

 $data = $_POST['name'] && $_GET['colour']

的functions.php

process($inputdata, $colours)

但我不确定从哪里去。

1 个答案:

答案 0 :(得分:0)

在HTML中,将name="colour"更改为name="colour[]"

要在php中访问颜色的值,请执行以下操作

<?php
if(!empty($_POST['colour'])) {
    foreach($_POST['colour'] as $check) {
            echo $check; //echoes the value set in the HTML form for each checked checkbox.
    }
}
?>