删除不带$u POST php检查的项目
我遇到了以下问题: 我有一个包含文本的表格,每个表格旁边都有一个复选框。我也有一个按钮,像链接“删除选定”。我想要的是让用户能够通过复选框选择许多文本,并一起删除所选文本。问题是我不想使用表单,所以我不能使用$\u POST,所以我想我必须使用$\u SESSION。我以前使用过会话,但我不知道如何将它们与复选框组合 如果你能给我一些提示或例子,我将不胜感激 我的部分代码给你一个线索 view_text.php删除不带$u POST php检查的项目,php,session,post,checkbox,Php,Session,Post,Checkbox,我遇到了以下问题: 我有一个包含文本的表格,每个表格旁边都有一个复选框。我也有一个按钮,像链接“删除选定”。我想要的是让用户能够通过复选框选择许多文本,并一起删除所选文本。问题是我不想使用表单,所以我不能使用$\u POST,所以我想我必须使用$\u SESSION。我以前使用过会话,但我不知道如何将它们与复选框组合 如果你能给我一些提示或例子,我将不胜感激 我的部分代码给你一个线索 view_text.php <?php $sql="SELECT * FROM tex
<?php
$sql="SELECT * FROM texts";
$res=mysql_query($sql) or die(mysql_error());
$i=1;
while($row=mysql_fetch_array($res))
{
?>
<tr>
<td><input type="checkbox" name="check[]" value="<?php echo $row['id']?>"/></td>
<td><?php echo $i; ?></td>
<td><?php echo $row['title']; ?></td>
<td><?php echo substr($row['description'],0,20); ?></td>
<td><?php echo $row['page_id']; ?></td>
<td><a href="edit_text.php?id=<?php echo $row['id'];?>"><img src="images/user_edit.png" alt="" title="" border="0" /> </a></td>
<td><a href="delete_text.php?id=<?php echo $row['id'];?>" class="ask"><img src="images/trash.png" alt=""
title="" border="0" /></a></td>
</tr>
<?php
$i++;
}
?>
<a href="delete_selected_texts.php" class="bt_red"><span class="bt_red_lft"></span><strong>Διαγραφή επιλεγμένων</strong><span class="bt_red_r"></span></a>
<?php
if (isset($_POST['check']))
{
foreach ($_POST['check'] as $value)
{
$sql = "DELETE FROM texts WHERE id =".$value;
mysql_query ($sql);
}
}
?>
删除选定的文本。php
<?php
$sql="SELECT * FROM texts";
$res=mysql_query($sql) or die(mysql_error());
$i=1;
while($row=mysql_fetch_array($res))
{
?>
<tr>
<td><input type="checkbox" name="check[]" value="<?php echo $row['id']?>"/></td>
<td><?php echo $i; ?></td>
<td><?php echo $row['title']; ?></td>
<td><?php echo substr($row['description'],0,20); ?></td>
<td><?php echo $row['page_id']; ?></td>
<td><a href="edit_text.php?id=<?php echo $row['id'];?>"><img src="images/user_edit.png" alt="" title="" border="0" /> </a></td>
<td><a href="delete_text.php?id=<?php echo $row['id'];?>" class="ask"><img src="images/trash.png" alt=""
title="" border="0" /></a></td>
</tr>
<?php
$i++;
}
?>
<a href="delete_selected_texts.php" class="bt_red"><span class="bt_red_lft"></span><strong>Διαγραφή επιλεγμένων</strong><span class="bt_red_r"></span></a>
<?php
if (isset($_POST['check']))
{
foreach ($_POST['check'] as $value)
{
$sql = "DELETE FROM texts WHERE id =".$value;
mysql_query ($sql);
}
}
?>
这是我在表单标签中用于文本框的代码。如果您一直坚持不使用表单,无论出于什么原因,您都会考虑使用javascript,并在帖子中发送AJAX请求。我建议使用jQuery,因为这大大简化了选择目标元素的过程 它看起来像这样
$(document).function(){
$(":checkbox").click(function(e){
var deleteItem = $("input:id").val();
$.ajax({
type: "POST";
data: deleteItem;
url: "path/to/a/file.php";
success: function(data){
if (data="success"){
$(this).css("backgroundcolor", "blue");
} else {
alert("failed to find item");
}
}
});
}
然后,您需要有一个文件,Ajax请求将数据发送到该文件,该文件将构建一个要删除/从该列表中删除的项目列表,当调用delete_selected_texts.php以删除该列表时,将存储并调用该列表
注意:上面的jQuery没有被检查。“我不想使用表单,所以我不能使用POST”是什么意思?你怎么能不使用表单呢?从客户端到服务器获取信息的唯一方法是通过请求(
POST
是最简单的赌注,也是最符合要求的)。超级全局会话将状态保存在服务器上。它无法完成客户端和服务器之间的数据传输。这就是POST(和GET)的用途。我读到,如果你不使用表单,你实际上就不能发布一些东西。这是错的吗??这有点复杂,为什么我不想使用表单到那个特定的页面。例如,我不想通过action=“”发布所有表单,而只想通过我所选项目的链接发布带有复选框的部分。谢谢你的回答!有没有一种方法不使用javascript?因为我对javascript和ajax都不太了解。@Foant:那你应该学习它。这就是编程的乐趣,你永远不会知道一切,总有新的东西需要学习@我想知道我是否有更容易使用的替代品。有时,对于同一个问题,有多个解决方案……表格是唯一的选择。如果使用表单和提交按钮,请重新加载页面并检查一些逻辑,以查看帖子是否具有提交值。如果是这样,则执行delete_selected_texts.php逻辑,并使用header命令重定向到您选择的页面。