【发布时间】:2016-08-05 15:08:00
【问题描述】:
我正在编写以下代码,以便从表单中选择复选框。如果我选中第一个复选框,一切都会很好。如果我选中另一个复选框,我会在发送bulkcopy 表单时收到“未定义索引”错误。请记住,由于表单和字段位置的复杂性,我正在使用 post 方法获取复选框,并且提交按钮位于复选框上方。我基本上需要的是选择多个复选框并将某些值添加到数据库中。
<?php //bulkcopy.php
session_start();
if($_SESSION['admin_logged_in'] != true){
header("Location:login.html");
exit();
}
include 'db.php';
$from = mysql_real_escape_string($_GET['from']);
$room = mysql_real_escape_string($_POST['room']);
if(!empty($_POST['id'])) {
foreach($_POST['id'] as $check) {
$id = $check;
$sel = mysql_query("select * from $from where id = '$id' limit 1 ") or die(mysql_error());
while($row = mysql_fetch_array($sel)){
$preview = $row['preview'];
$text = $row['text'];
$title = $row['title'];
$images = $row['images'];
}
$ins = mysql_query("insert into $room (id, preview, text, title, images) values (' ', '$preview', '$text', '$title', '$images') ") or die(mysql_error());
}
header("Location:admin.php");
}
?>
表格代码如下:
<form class="form-inline" name="bulkcopy" method="post" action="bulkcopy.php?from=sights"> <b>Bulk Copy:</b>
<select name='room' class="form-control">
<option>Select...</option>
<option value="Orhan">Orhan</option>
<option value="Deniz">Deniz</option>
<option value="Irini">Irini</option>
<option value="Katina">Katina</option>
<option value="Gulbin">Gulbin</option>
<option value="Mihalis">Mihalis</option>
</select>
<input class="btn btn-primary" type="submit" name="submit" value="Go"><br /><br />
</div>
<table class="table table-bordered table-striped">
<th>Entry Name</th>
<th>Display Order</th>
<th>Copy to...</th>
<th>Status</th>
<th>Image</th>
<th>Edit</th>
<th>Delete</th>
<th>Duplicate</th>
<?php while($row = mysql_fetch_array($sel)) { ?>
<tr>
<td>
<input type="checkbox" name="id[]" value="<?php echo $row['id']; ?>">
</form>
<?php echo $row['title']; ?>
</td>
<td>
<form name="order" method="post" action="sightorder.php?id=<?php echo htmlspecialchars($row['id']); ?>">
<div class="col-md-4">
<input class="form-control" type="number" name="order" value="<?php echo htmlspecialchars($row['ordernum']); ?>">
</div>
<div class="col-sm-3">
<input type="submit" name="submit" value="Set Order" class="btn btn-primary">
</div>
</form>
</td>
<td>
<form name="copyto" method="post" action="copyto.php?from=sights&id=<?php echo htmlspecialchars($row['id']); ?>">
<input type="checkbox" name="room[]" value="Orhan"> O -
<input type="checkbox" name="room[]" value="Deniz"> D -
<input type="checkbox" name="room[]" value="Irini"> I -
<input type="checkbox" name="room[]" value="Katina"> K -
<input type="checkbox" name="room[]" value="Gulbin"> G -
<input type="checkbox" name="room[]" value="Mihalis"> M
<input type="submit" name="submit" value="Copy" class="btn btn-primary">
</form>
</td>
<td>
<a href="sightstatus.php?id=<?php echo htmlspecialchars($row['id']); ?>&status=<?php echo $row['status']; ?>"><?php if($row['status'] == 1){ ?><i class="fa fa-check fa-lg"></i><?php }else{ ?><i class="fa fa-times fa-lg"></i><?php } ?></a>
</td>
<td>
<a href="sightimages.php?id=<?php echo $row['id']; ?>"><i class="fa fa-image fa-lg"></i></a>
</td>
<td>
<a href="editsight.php?id=<?php echo htmlspecialchars($row['id']); ?>"><i class="fa fa-edit fa-lg"></i></a>
</td>
<td>
<a onclick="return confirmDelete()" href="delsight.php?id=<?php echo htmlspecialchars($row['id']); ?>"><i class="fa fa-trash fa-lg"></i></a>
</td>
<td>
<a href="duplicatesight.php?id=<?php echo htmlspecialchars($row['id']); ?>"><i class="fa fa-copy fa-lg"></i></a>
</td>
</tr>
<?php } ?>
</table>
任何帮助将不胜感激。 谢谢。
【问题讨论】:
-
我已经用表单代码的一部分更新了问题。
-
请不要使用the
mysql_database extension,它已被弃用(在PHP7中永远消失了)特别是如果您只是学习PHP,请花精力学习PDO或mysqli_数据库扩展,@987654322 @ -
感谢您的提示。我会的。
-
还有其他建议可以使此代码正常工作吗?
-
您对
$sel的查询是什么。 @埃文萨普