如何生成多个文本框然后插入数据库

时间:2015-03-29 09:01:49

标签: php mysql

我的系统出了问题。我需要将文本框相乘然后使用mysql中的连接插入一列。我在我的系统中使用Php。具体来说,我的源代码是ff:

这是索引

    <html>
    <head>
    <title>Sample Text</title>
    </head>
    <body>

    <form action="phpfunctionshandle.php" method="post" name="phpfunctionshandle"> 

        <input type="number" name="text" />
        <button type="submit" name="submit"value="Register">Submit</button>
        <button type="reset"value="cancel">Cancel</button>
        <input type="hidden" name="submitted" value="TRUE" >
    </form>
    </body>
    </html>

这是索引的句柄

<html>
<head>
<title>Sample</title>
</head>
<body>
<form action="handlefinal" method="post" enctype="multipart/form-data" name="phpfunctionshandle"> 
<?php
include('config.php');
$text =$_POST['text'];
for ($x = 1; $x <= $text; $x++) { // I use for loop to multiple text box
    echo '<input type="text" name="sample value=""/>';
}

?>
 <button type="submit" name="submit"value="Register" class="btn btn-primary">Submit</button>
 <button type="reset"value="cancel" class="btn btn-success">Cancel</button>
 <input type="hidden" name="submitted" value="TRUE" >
 </form>
 <Form name="handlefinal">
 <?php
include('config.php');
 $sample=$_POST['sample"'.$text.'"'];
$query = "INSERT INTO sample (text) VALUES ('$sample')"; 
$result = mysql_query($query) or die(mysql_error());
echo'success';

 ?>
</form> 
</body>
</html>

我根据我在索引上输入的内容,使用for循环来多个文本框。例如,我在index.php的输入类型编号中输入3,文本框将乘以3.我想要的结果是查询3倍的文本框。 如果我在第一个文本框中输入sample1,在第二个文本框中输入sample2,在第三个文本框中输入sample3。列文本中数据库中所需的输出应该是 sample1,sample2,sample3。我试试这个,但事实证明只插入数据库的文本框的最后一个值。简而言之,只有sample3。我不知道如何查询以及如何解决这个问题。有什么建议?抱歉发布我的所有源代码。谢谢你的耐心等待。

1 个答案:

答案 0 :(得分:1)

这里有一些问题:

  • 您为所有输入提供相同的名称,因此只有最后一个输入的值才能通过服务器。您可以使用表单中的数组来解决此问题,该数组将转换为$_POST变量的数组:
    echo '<input type="text" name="sample[]" />';
  • 我不喜欢将多个文本输入的输入放在一个数据库字段中,但如果必须,可以在从表单中获取值时连接这些值:
    $samples = implode(',', $_POST['sample']); // separated by comma
  • 如果您不发布任何文件,则不应使用enctype="multipart/form-data"
  • 你有一个SQL注入问题。您应该切换到另一个数据库接口,因为不推荐使用mysql_*函数并使用预准备语句。