我到目前为止已经完成了这段代码:
$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
发布评论