Php 将标签文本与数组复选框值一起过帐

Php 将标签文本与数组复选框值一起过帐,php,javascript,Php,Javascript,我有以下html格式的复选框数组 <label><input name="columns[]" type="checkbox" value="pname" />Property Name</label> <label><input name="columns[]" type="checkbox" value="2000" />Price</label> <label><input name="columns

我有以下html格式的复选框数组

<label><input name="columns[]" type="checkbox" value="pname" />Property Name</label>
<label><input name="columns[]" type="checkbox" value="2000" />Price</label>
<label><input name="columns[]" type="checkbox" value="New Road" />Location</label>
<label><input name="columns[]" type="checkbox" value="Joe Smith" />Owner</label>
属性名称
价格
位置
所有者
大约有30个这样的复选框

我只想在表单发布时发送文本及其复选框的值。假设我选中了第一个复选框,我想发送
pname
以及文本
属性名
。有几种解决方案,但不知道哪一种更容易

我想是的。在通过复选框数组循环进行迭代的提交页面中,创建另一个数组并手动将文本推送到这个新数组中

或者我想到的另一个选项是,在value属性中,我将发送带有如下值的文本
pname^Property Name
,在提交页面中,我迭代循环,分解值并将它们放入各自的数组中

有没有其他解决办法

谢谢

您可以这样使用

$posted_columns = implode(',',$_POST['columns']);
print_r($posted_columns);
<label><input name="columns['Property Name']" type="checkbox" value="pname" />Property Name</label>
但是你的代码应该是这样的

$posted_columns = implode(',',$_POST['columns']);
print_r($posted_columns);
<label><input name="columns['Property Name']" type="checkbox" value="pname" />Property Name</label>
属性名称
您可以这样使用

$posted_columns = implode(',',$_POST['columns']);
print_r($posted_columns);
<label><input name="columns['Property Name']" type="checkbox" value="pname" />Property Name</label>
但是你的代码应该是这样的

$posted_columns = implode(',',$_POST['columns']);
print_r($posted_columns);
<label><input name="columns['Property Name']" type="checkbox" value="pname" />Property Name</label>
属性名称
HTML

<label><input name="columns['Property Name']" type="checkbox" value="pname" />Property Name</label>
<label><input name="columns['Price']" type="checkbox" value="2000" />Price</label>
<label><input name="columns['Location']" type="checkbox" value="New Road" />Location</label>
<label><input name="columns['Owner']" type="checkbox" value="Joe Smith" />Owner</label>
HTML

<label><input name="columns['Property Name']" type="checkbox" value="pname" />Property Name</label>
<label><input name="columns['Price']" type="checkbox" value="2000" />Price</label>
<label><input name="columns['Location']" type="checkbox" value="New Road" />Location</label>
<label><input name="columns['Owner']" type="checkbox" value="Joe Smith" />Owner</label>

你可以
@JaredFarrish,如果我有文本
出售/出租
?这是一个有效的。你也可以
。你可以
@JaredFarrish,如果我有文本
出售/出租
?这是一个有效的。你也可以
。不幸的是,我想这样做是行不通的,它只会给出一个复选框值,而不是标签文本。抱歉,它应该是name=“columns['Property name]”不幸的是,它不会像我想的那样工作。我猜,它只会给出一个复选框值,而不是标签文本。抱歉,它应该是name=“columns['Property name]”。不幸的是,我有类似于
Sales/Rent
Area In Sq.Ft
,的文本,
Semi-profected
,这将产生“Disallowed key”错误。您可能必须在sanitize输入名称与字段名称之间创建映射。e、 g.:“Sales/Rent”=>“Sales\u Rent”我刚刚用空格替换了非法字符,使
Sales/Rent
变成
Sales Rent
,仍然得到错误
不允许的关键字符
错误。虽然我会打印($\u POST[“columns”])
@但在这种情况下,OP可以从值映射到他们想要的任何其他值。@LoVeSmItH看一看
config/config.php
$config['allowed\u uri\u chars']
告诉您哪些字符是有效的。幸运的是,我有
Sales/Rent
这样的文本,
面积(平方英尺)
半装修
,这将产生“不允许的密钥”错误您可能必须在“清理输入名称”与字段名称之间创建映射。e、 g.:“Sales/Rent”=>“Sales\u Rent”我刚刚用空格替换了非法字符,使
Sales/Rent
变成
Sales Rent
,仍然得到错误
不允许的关键字符
错误。虽然我会打印($\u POST[“columns”])
@但在这种情况下,OP只能从值映射到他们想要的任何其他值。@LoVeSmItH看一看
config/config.php
$config['allowed\u uri\u chars']
告诉您哪些字符是有效的