2013-04-20 34 views
0

我的网站显示这样的警告:无效参数提供用于复选框

在/admin/insert.php为的foreach()供给线的参数无效37

我已经使用这个PHP代码用于从复选框中将数据插入到mysql数据库中

我该如何解决它?

感谢

<table> 
    <tr> 
     <td bgcolor="#FFEBC1"> 
      <input type="checkbox" name="E1[]"value="1" > 
       国語 
      <input type="checkbox" name="E1[]" value="2" > 
       算数 
      <input type="checkbox" name="E1[]" value="3" > 
       理科 
      <input type="checkbox" name="E1[]" value="4" > 
       社会 
      <input type="checkbox" name="E1[]" value="5" > 
       英語 
     </td> 
    </tr> 
</table> 
<?php 
$ele_school = $_POST['E1']; 
$selected_schoo2 = ""; 
foreach ($ele_school as $ele_school2) { 
    $selected_schoo2 .= $ele_school2 . ", "; 
} 
$selected_schoo2 = substr($selected_schoo2, 0, -2); 
$query="insert into person(id,login_date,name,selected_schoo) 
    values('$_POST[PID]', 
    '$_POST[REGISTRATION]', 
    '$_POST[FURIGANA2]', 
    '$selected_schoo2')"; 
    mysql_query($query) or die("not successfully insert".mysql_error()); 
?> 
+0

显示你的'

'标签。 – 2013-04-20 05:24:51

回答

3

有可能是数据不进入你的$ _ POST [ 'E1']的情况下,

那么在这种情况下,您正在执行空白数组的foreach, 所以你需要做的是

if(isset($ele_school) && $ele_school != NULL){ 
    foreach($ele_school as $ele_school2){ 
    // your script 
    } 
} 
+0

非常感谢Nagendra,现在这个问题解决了 – 2013-04-20 05:37:59

+0

欢迎你们陪伴.. – kumar 2013-04-20 05:43:02

0

你应该使用:

if (isset($_POST['E1']) { 

    //then use your foreach loop 
}