PHP复选框和$ _GET数组变量

时间:2015-07-22 09:29:44

标签: php forms get

我有一个不好的问题,已经失去了2天。我正在尝试使用复选框和$ _GET方法过滤结果集,但出于某种原因,nbot正在运行。复选框名称的$ _GET变量始终是一个字符串而不是数组。

我有:

Array ( [page] => xxxx[stype] => xx [entrant] => xxx [formDoor1[]] => C [formSubmit] => Submit ) 

提交后我在$ _GET中有这个:

paper.on('cell:pointerdblclick', function (cellView, evt, x, y) {
                    var rect = new joint.shapes.devs.Model({
                        position: {x: 100, y: 50},
                        size: {width: 51, height: 41},
                        outPorts: [''],
                        attrs: {
                            '.label': {text: '', 'ref-x': .4, 'ref-y': .2},
                            rect: {fill: 'white'},
                            '.outPorts circle': {fill: 'white', stroke: 'black'},
                            '.port-body': {r: 5}
                        }
                    });
                    graph.addCell(rect);
                });

在我检查了前3个复选框后($ _GET只有一个值 - 最后一个检查了,不是数组。

注意:带有$ _POST表单的相同表单工作正常。

任何帮助都会受到赞赏,因为我对此感到很疯狂。

由于

3 个答案:

答案 0 :(得分:1)

试试这个:

<form action="" method="get">

GET<br />
<input type="checkbox" name="formDoor1[A]"/>Acorn Building<br />
<input type="checkbox" name="formDoor1[B]"/>Brown Hall<br />
<input type="checkbox" name="formDoor1[C]"/>Carnegie Complex<br />
<input type="checkbox" name="formDoor1[D]"/>Drake Commons<br />
<input type="checkbox" name="formDoor1[E]"/>Elliot House

<input type="submit" name="formSubmit" value="Submit" />

</form>

答案 1 :(得分:0)

尝试这个

 <form action="" method="get">

 GET<br />
<input type="checkbox" name="formDoor1[]" value="A" />Acorn Building<br />
<input type="checkbox" name="formDoor1[]" value="B" />Brown Hall<br />
<input type="checkbox" name="formDoor1[]" value="C" />Carnegie Complex<br />
<input type="checkbox" name="formDoor1[]" value="D" />Drake Commons<br />
<input type="checkbox" name="formDoor1[]" value="E" />Elliot House

<input type="submit" name="formSubmit" value="Submit" />

</form>
<?php
if(isset($_POST['formSubmit'])){
if(!empty($_POST['formDoor1'])) {

//Loop through  array to fetch individual value so that we can use them
  echo "<h2> You have selected: </h2>";
  foreach($_POST['formDoor1'] as $formDoor1) {
  echo "<p>".$formDoor1 ."</p>"; //Print all the values

   }
 }
}

答案 2 :(得分:0)

您可以轻松访问GET方法中的复选框值,如POST。

试试这个:

$formDoor1 = isset($_GET['formDoor1']) && is_array($_GET['formDoor1']) ? $_GET['formDoor1'] : false;

echo '<pre>';
print_r($formDoor1);