我需要开发一个脚本,它将执行以下步骤:
1.Users进入名为update.php的页面
会有这样的输入:
How many values do you want to add ?: <input type="text" value="5">
2.当用户点击提交并选择时,例如要添加的5个值,它将被重定向到如下页面:
update.php?values=5
从那部分我不知道如何做到这一点:
3.页面应输出5个字段,或20或3(取决于用户选择的数量) 和提交按钮。
示例:
<form action"x.php>
<input type="text" name="value1" >
<input type="text" name="value2" >
<input type="text" name="value3" >
<input type="text" name="value4" >
<input type="text" name="value5" >
<input type="submit" name="submit" value="Add">
</form>
4.当所有表单都完成并提交后,我需要在MYSQL数据库中插入每个值...
Table: values
id value
1 x
2 y
3 z
4 a
5 b
我用issets做了第1步和第2步......但是我不能做3和4.有什么建议吗?
答案 0 :(得分:0)
这是update.php的第3号。
if (isset($_GET['values'])){
$numvalues = $_GET['values'];
}
for ($i=0;$i<$numvalues;$i++){
echo '<input type="text" name="value'.$i.'" >';
}
对于4号,SO上有关于如何将数据插入MySQL数据库的半无限数量的答案。我可以告诉你,你必须改变这条线,因为它被打破了:
<form action"x.php>
如果表单发布到自身进行处理,它将更改为类似的内容:
<form method="post">
或者,如果它发布到不同的处理页面:
<form action="x.php" method="post">
答案 1 :(得分:0)
这应该让你朝着正确的方向前进,并假设你实际上并不需要明确地命名字段value1
,value2
等。
<强> update.php 强>
<?php
if(isset($_GET["values"]))
{
?>
<form action="x.php">
<?php
for($i = 0; $i < $_GET["values"]; $i++)
{
<input type="text" name="values[]" >
}
?>
<input type="submit" name="submit" value="Add">
</form>
<?php
}
?>
<强> x.php 强>
<?php
if(isset($_GET["values"]))
{
foreach($_GET["values"] as $value)
{
$value = someSanitizationMethod($value);
// YOUR CODE TO INSERT $value INTO THE DATABASE
}
}
?>