我刚刚制作了一个php函数
function deletebooking($orderID){
$sql="DELETE FROM bs_reservations WHERE id='".$orderID."'";
$result=mysql_query($sql) or die("oopsy, error when tryin to delete events 2");
}
我有一个.php文件,它处理提交的表单,然后显示一个HTML页面。如何将添加调用上述功能的删除预订按钮添加到HTML页面。 $ orderID变量已设置。
建议欢迎
答案 0 :(得分:6)
您可以在单击按钮上使用javascript代码删除记录 如
<input type="button" name-"abc" id="abc" onclick="return Deleteqry(<?php echo $orderID ?>);"/>
现在您可以在<head></head>
中将javascript函数编写为
function Deleteqry(id)
{
if(confirm("Are you sure you want to delete this row?")==true)
window.location="yourpagename.php?del="+id;
return false;
}
现在,您可以在页面顶部写上
if($_GET['del'])
{
deletebooking($orderID);
}
在这里,我们使用javascript警告框...
使用消息警报来确认删除的构造答案 1 :(得分:3)
两件事。首先,查看“SQL注入”。清理查询输入。
第二:不要这样做。这不是一个好主意。如果页面上已经设置了orderID
,那么可能用户可以将其更改为他们想要的任何内容然后删除。相反,您应该将orderID删除与身份验证相关联,或者具有订单ID的状态(例如,“已删除”),以防止丢失任何数据。
除此之外,另一个答案将满足您的需求。这并不复杂。
答案 2 :(得分:2)
这是一个示例页面,我们称之为page.php
:
<?
include "includes/dbconnect.php";
include "includes/functions.php";
if ($_POST['delete']){
deletebooking(intval($_POST['delete']));
echo "deleted!";
exit;
}
?>
<form action="page.php" method="post">
<input type="hidden" name="delete" value="<?=intval($orderID)?>" />
<input type="submit" value="Delete order #<?=intval($orderID)?>" />
</form>
一个文件既是您呈现给用户的表单,也是执行实际删除的代码。我们将要删除的记录的ID作为隐藏的表单值传递。
答案 3 :(得分:0)
我还建议在你的函数中添加一个重载,这样在删除操作后id不会留在url中。
$page = 'current.php';
if($_GET['del'])
{
deletebooking($orderID,$page);
}
function deletebooking($orderID,$page){
$sql="DELETE FROM bs_reservations WHERE id='".$orderID."'";
$result=mysql_query($sql) or die("oopsy, error when tryin to delete events 2");
header('Location: '.$page, true, 303);
}