我有一个表单,我使用几个变量类似于一个数组,并在我的一个服务器(godaddy)上我不必请求变量,它工作正常。我不得不很快更换服务器,我需要一个解决方法,以便我可以请求这些变量
我有12个输入区域,如
<input name="sd[1]" type="text" id="sd1" size='10' value='<?echo$sd[1];?>'/>
<input name="sd[2]" type="text" id="sd2" size='10' value='<?echo$sd[2];?>'/>
...
<input name="sd[12]" type="text" id="sd12" size='10' value='<?echo$sd[12];?>'/>
我需要能够请求每个sd [#]变量,但我尝试过的所有内容都不起作用。
我尝试过像
这样的事情for ($i=1; $i<=12; $i++){
$sd[$i]= $_POST['sd']["$i"];
}
和
for ($i=1; $i<=12; $i++){
$sd[$i]= $_POST['sd[$i]'];
}
和
$sd[1]= $_POST['sd[1]'];
感谢您提供的任何帮助
谢谢,
凯利
答案 0 :(得分:2)
分组名称name="sd[]"
已经返回一个数组,即[]
内的数字作为索引。像往常一样对待阵列。
foreach
非常适合这项任务:
$sd = $_POST['sd'];
foreach($sd as $key => $value) {
// $key is integer inside name[1] or name[2], and so on
echo $key;
echo $value;
}
实际上,带有另一个赋值的循环是多余的,因为这个数组已经代表了你想要的东西。
$sd = $_POST['sd']; // contains the key pair values 1 => the corresponding echoed value from the form, and so on...
echo $sd[12];
答案 1 :(得分:0)
使用此示例:
<?php
if(isset($_POST['sd'])) {
for($i = 1; $i <= count($_POST['sd']); $i++) {
echo $_POST['sd'][$i] . "<br>";
}
}
?>
<form action='' method='POST'>
<input name="sd[1]" type="text" id="sd1" size='10' value='1'/>
<input name="sd[2]" type="text" id="sd1" size='10' value='2'/>
<input name="sd[3]" type="text" id="sd1" size='10' value='3'/>
<input type=submit value='Send'>
</form>
或者您可以使用此代码,在您的html代码中,您可以设置输入名称,例如name="sd[]"
,在这种情况下,第一个元素是0
,请参阅代码:
<?php
if(isset($_POST['sd'])) {
for($i = 0; $i < count($_POST['sd']); $i++) {
echo $_POST['sd'][$i] . "<br>";
}
}
?>
<form action='' method='POST'>
<input name="sd[]" type="text" id="sd1" size='10' value='1'/>
<input name="sd[]" type="text" id="sd1" size='10' value='2'/>
<input name="sd[]" type="text" id="sd1" size='10' value='3'/>
<input type=submit value='Send'>
</form>
输出:
1
2
3
答案 2 :(得分:0)
删除&#34; $ i&#34;周围的双引号。
for ($i=1; $i<=12; $i++){
$sd[$i]= $_POST['sd'][$i];
}
答案 3 :(得分:0)
首先,您不应该为PHP使用短标签。
<? is bad, <?php is good.
默认情况下,大多数主机都会关闭短标签选项。
其次,您应该可以访问这样的值。
$sd[1]= $_POST['sd'][1];
如果你需要循环,或者甚至喜欢这个
foreach($_POST['sd'] as $key => $value){
// $key is the number: 1-12
// $value is what is held in it. ex sd[1]
}