您好我正在尝试创建一个系统来制作我自己的发票并打印它们,所以我使用while循环创建输入,具体取决于我输入的文章数量,使用下面的代码
<?php
$cont=1;
$numero = $_REQUEST['numeroa'];
while($cont<=$numero) {
echo $cont;
echo " <input class='Descripcion$cont' placeholder='Descripcion :' />";
echo " <input class='Precio' name='precio$cont' placeholder='Precio :' onkeyup='AddInputs()' /><br>";
$cont++;
}
echo "<textarea name='comment' >Escriba sus comentarios....</textarea>";
session_start();
$_SESSION['cont']=$cont;
?>
这个将帖子信息发送到另一个php页面,所以我在网址上得到这样的内容
http://localhost/pruebas/facturapdf.php?precio1=1&precio2=2&precio3=3&precio4=4&precio5=5
我尝试使用此代码获取变量,但我没有成功
session_start();
$contp=$_SESSION['cont'];
while($cont<=$contp) {
$articulos[$cont]=$_GET['precio$cont'];
echo $articulos[$cont];
$cont++;
}
有没有办法可以使用get方法更改每个循环的数字?
如果没有,我怎样才能获得所有变量,知道它们每次都不同,具体取决于用户输入
提前感谢..
答案 0 :(得分:1)
如前所述,当你应该使用double时,你会使用单引号..
$articulos[$cont] = $_GET["precio$cont"];
此外,您实际上可以直接将数组作为查询数据传入,而不是附加计数值并循环遍历它们。
echo " <input class='Descripcion' placeholder='Descripcion :' />";
echo " <input class='Precio' name='precio[]' placeholder='Precio :' onkeyup='AddInputs()' /><br>";
请注意,我只是将name='precio$cont'
更改为name='precio[]'
然后,您可以在提交时将其作为数组进行访问
$precioArr = $_GET['precio'];
只是要说明
for($i = 0; $i < count($precioArr); $i++) {
echo $precioArr[$i];
}
所以你实际上可以将它用于你提到的要求
如果没有,我怎样才能获得所有变量,知道它们每次都不同,具体取决于用户输入
这可以使用此代码
来演示<?php
echo "query data:<br>";
print_r($_GET['array']);
echo "<br>";
echo "query keys:<br>";
print_r(array_keys($_GET['array']));
?>
所以,如果你有一个这样的表格:
<form action="demo.php" method="GET">
<input name="array[2]" type="text" value="11">
<input name="array[4]" type="text" value="11">
<input name="submit" type="submit" value="Submit">
</form>
这会传递?array[2]=11&array[4]=11
的查询查询,您得到的结果是:
query data:
Array ( [2] => 11 [4] => 11 )
query keys:
Array ( [0] => 2 [1] => 4 )
答案 1 :(得分:0)
尝试:
<?php
session_start();
$contp=$_SESSION['cont'];
while($cont<=$contp) {
$articulos[$cont]=$_GET['precio'. $cont];
echo $articulos[$cont];
$cont++;
}
与原版的区别:'precio'. $cont
这会将变量$cont
的值连接到字符串文字'precio'
。
你写的内容('precio$cont'
)将始终是它的文字字符串。没有使用变量。