PHP使用复选框进行多次INSERT(Multiple INSERT's by PHP using checkboxes)

编程入门 行业动态 更新时间:2024-10-27 06:29:30
PHP使用复选框进行多次INSERT(Multiple INSERT's by PHP using checkboxes)

我到目前为止已经完成了这段代码:

$assign = $_POST['assign']; if(!empty($name) && !empty($description) && !empty($deadline)) { if(validateDate($deadline)) { $final_deadline = strtotime($deadline); $sql .= "INSERT INTO projects (project_id, project_name, project_description, project_deadline, project_status, project_priority) VALUES ('" . $project_id . "', '" . $name . "', '" . $description . "', '" . $final_deadline . "', '" . $status . "', '" . $priority . "');"; if(is_array($assignments)) { foreach($assignments as $assigned_user) { $sql .= "INSERT INTO assignments (user_id, project_id) VALUES('" . $assigned_user . "', '" . $project_id . "');"; } } else { echo '<br /><br />not an array<br />'; } $result = mysql_query($sql) or die(mysql_error()); echo '<br />' . var_dump($assignments); } else { $_SESSION['ERROR'] = "Not a valid deadline"; header("Location: dashboard.php"); } }

哪个会使用这个复选框列表:

<input type="checkbox" value="<?php echo $row['user_id']; ?>" id="<?php echo $row['username']; ?>" class="usercheckbox" name="assign[]" />

出现的问题是,当我提交表单时,为每个复选框插入一条记录,它返回一个空数组...

它说:

注意:未定义的索引:在第41行的[..]中赋值

不是一个数组

空值

所以基本上复选框什么都没有,复选框中已经有值, assign[]是正确的,现在我不知道在提交表单时它没有包含任何内容的问题。

I have this piece of code I've done so far:

$assign = $_POST['assign']; if(!empty($name) && !empty($description) && !empty($deadline)) { if(validateDate($deadline)) { $final_deadline = strtotime($deadline); $sql .= "INSERT INTO projects (project_id, project_name, project_description, project_deadline, project_status, project_priority) VALUES ('" . $project_id . "', '" . $name . "', '" . $description . "', '" . $final_deadline . "', '" . $status . "', '" . $priority . "');"; if(is_array($assignments)) { foreach($assignments as $assigned_user) { $sql .= "INSERT INTO assignments (user_id, project_id) VALUES('" . $assigned_user . "', '" . $project_id . "');"; } } else { echo '<br /><br />not an array<br />'; } $result = mysql_query($sql) or die(mysql_error()); echo '<br />' . var_dump($assignments); } else { $_SESSION['ERROR'] = "Not a valid deadline"; header("Location: dashboard.php"); } }

Which would use this list of checkboxes:

<input type="checkbox" value="<?php echo $row['user_id']; ?>" id="<?php echo $row['username']; ?>" class="usercheckbox" name="assign[]" />

The problem that comes is when I submit the form which is to insert a record for each of the checked boxes, it returns an empty array...

It says this:

Notice: Undefined index: assign in [..] on line 41

not an array

NULL

So basically the checkboxes have nothing, the checkboxes already have values in them, the assign[] is correct, now I don't know what the problem is that it doesn't contain anything when submitting the form.

最满意答案

是否选中了任何复选框? 如果您提交的表单未选中所有框,则不会发布任何内容。

如果您希望警告消息消失,请在设置$ assign之前添加if(isset($_POST['assign'])) 。 然后添加一个else { $assign = array() }这将初始化$ assign到一个空数组,这样你就不会得到更多关于在null状态下使用$ assign的警告。

Are any of the checkboxes checked? If you submit the form with all the boxes unchecked, it won't POST anything.

If you want the warning message to go away add a if(isset($_POST['assign'])) before you set $assign. Then add an else { $assign = array() } This will initialize $assign to an empty array so you won't get more warnings about using $assign in a null state.

更多推荐

assign,echo,php,电脑培训,计算机培训,IT培训"/> <meta name="description&q

本文发布于:2023-08-01 12:31:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1357711.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:复选框   PHP   INSERT   checkboxes   Multiple

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!