从动态表单插入mysql

时间:2013-12-02 20:33:27

标签: php mysql

我已经制作了这段代码,我无法将$ txt2插入到mysql中! 但是当从动态表单中获得多行时,也会插入$ tele2!

但$ txt2不会插入数据库。

有人能看出问题所在。我认为它是foreach中的某个地方

这是动作帖子页面!!

<?php if(isset($_POST)==true && empty($_POST)==false): 

$day = $_POST['day'];

$month = $_POST['month'];

$text=$_POST['txt'];
$tele=$_POST['tele'];

include("db.php");

foreach($tele as $a => $b){
    $a+1;

$txt2 = $_POST['text'][$a]; 
$tele2 = $_POST['tele'][$a]; 


$sql_ins="INSERT INTO SmsSend (`PHONENUM`, `TEXT`) VALUES 
    ('".$tele2."','".$txt2."')";
$res_ins1=mysql_query($sql_ins);

} 

?>        

从此动态表单发送我的信息:

<fieldset class="row2">
                <legend>Besked og bruger info</legend>
                <p> 
                    <input type="button" value="Tilføj bruger" onClick="addRow('dataTable')" /> 
                    <input type="button" value="Fjern bruger" onClick="deleteRow('dataTable')"  /> 

                </p>
               <table id="dataTable" class="form" border="1">
                  <tbody>
                    <tr>
<td><input type="checkbox" required="required" name="chk[]" checked="checked" /></td>
<td>
<label for="txt">text</label>
<input type="text" required="required" maxlength="160" name="txt[]">
</td>
<td>
<label for="tele">TELE</label>
<input type="text" required="required" maxlength="8" name="tele[]">
</td>
</p>
</tr>
</tbody>
</table>
<div class="clear"></div>
</fieldset>

1 个答案:

答案 0 :(得分:1)

您的行动中有$_POST['text'][$a] 但是在html标记中你有

<input type="text" required="required" maxlength="160" name="txt[]">

因此,您需要将html输入的名称更改为text或使用$_POST['txt'][$a]

其他问题是您的代码容易受到SQL Injectio n的攻击。您应该使用prepared statements