我有一个复选框,我需要使用window.location.href
这是我的功能:
function getValues(){
var test = [];
var inputs = document.getElementsByName("justtest");
for (var i = 0; i <inputs.length; i++) {
var inp=inputs[i];
if(inp.checked){
test.push(inp.id);
}
}
if(test.length == 1){
alert("Please choose more than 1");
}
else {
window.location.href = "test.php?id="+test;
}
}
&#13;
这是我的PHP代码:
<?php
$values = explode(",", $_GET["id"]);
print_r($values);
?>
&#13;
问题是我想要对数组进行划分并在不同的变量中显示ID,例如,如果我的网址带有2个ID compare.php?id=2,5
;
我需要像$var1 = ID1
$var2 = ID2
答案 0 :(得分:0)
如果您的test[0]=test1
和test[1]=test2
window.location.href = "test.php?id[]="+test[0]+"&id[]="+test[1];
$id = $_GET['id'];
print_r($_GET['id']);
<强>输出:强>
Array ( [0] => test1 [1] => test2)
答案 1 :(得分:0)
将您的数据作为数组发布,并在php中将其作为数组读取。
window.location.href = "test.php?id[]="+test[0]+"&id[]="+test[1];
?id [] = 1&amp; id [] = 2(最佳方式 - PHP将其读入数组)
?id = 1&amp; id = 2(错误方式 - PHP只会记录最后一个值)
答案 2 :(得分:0)
我不知道为什么你需要拆分不同的变量,但你可以使用variable variable来完成。
选项1)根据ID值
创建名称变量<?php
// when values is [1, 10, 5]
$values = explode(",", $_GET["id"]);
foreach ($values as $id) {
$varname = "var{$id}";
$$varname = $id;
}
echo $var1; // output 1
echo $var10; // output 10
echo $var5; // output 5
选项2)使用顺序后缀创建变量
<?php
// when values is [1, 10, 5]
$values = explode(",", $_GET["id"]);
for ($i = 0; $i < count($values); $i++) {
$id = $values[$i];
$varname = "var{$i}";
$$varname = $id;
}
echo $var0; // output 1
echo $var1; // output 10
echo $var2; // output 5