PHP代码忽略了我的第一个输入

时间:2013-04-09 10:33:45

标签: php javascript sql

我编写此代码以从用户

获取任务和否
<form method="POST" action="add.php">
 <tr> <td colspan="4">Tasks</td> </tr>
 <tr>
 <td colspan="4">
 <div id="tasksInput">
 Task Name<input type="text" name="mytasks[]"/>
 No <input type="text" name="myvol[]"/>
 <input type="button" value="add" onClick="add('tasksInput');">
 </div>
 </td> </tr>
<input type="submit"/> </form>

Java脚本“tasksInput”函数是

<script type="text/javascript">
var count = 1;
var limitt = 100;
function add(divName2){
     if (count == limitt)  {
          alert("You have reached the limit of adding " + count + " inputs");
     }
     else {
          var newdiv2 = document.createElement('div');
          newdiv2.innerHTML = "Task " + (count + 1) + " <input type='text' name='mytask[]'>" +  "No <input type='text' name='myvol[]'/>";
          document.getElementById(divName2).appendChild(newdiv2);
          count++;
     }
}
</script>

当我点击提交时,他必须将任务存储在db中,让我说我会存储 1 B 2 C 3

在DB中,他只存储任务B和C以及第1,2号 你能帮帮我吗?

这是我的PHP代码

$needs=$_POST['mytask'];
$no=$_POST['myvol'];
$N = count($needs);

if(! empty($_POST['mytask']))
{
    for($i=0; $i < $N; $i++)
    {   
        $needname = $needs[$i];
        $noneed= $no[$i];
        if(! empty($needname ))
        {
            $query2=mysql_query("INSERT INTO projecttasks VALUES('','','$needname',' $noneed','')");
        }

    }
}

2 个答案:

答案 0 :(得分:1)

您的表单包含此

<input type="text" name="mytasks[]"/>

并通过JS你试图添加这个

<input type='text' name='mytask[]'>

这些字段的名称不匹配。因此,在服务器上,您收到的不完全符合您的期望

答案 1 :(得分:0)

我不确定但这个问题似乎是因为索引。 JS和PHP从数组开始从0开始计数。也许这可能是错误

改变这个:

var count = 1;
var limitt = 100;

到:

var count = 0;
var limitt = 99;