0

我制作了一个事件日历,但现在当用户删除一个事件时我遇到了问题。

截图:http: //i.stack.imgur.com/LBLJ9.png

<h2>Date <?php echo "$day"."/"."$month"."/"."$year"."<br>"; ?></h2>
<?php

// event weer gegeven
while ($events = mysql_fetch_array($resultEvents)){
echo "<strong>Event ID:</strong> ".$events['id']."<br>";
echo "Added: ".$events['added']."<br>";
echo "Title: ".$events['titel']."<br>";
echo "Detail: ".$events['content']."<br>";
?>

<form method="POST" action="<?php $_SERVER['PHP_SELF']; ?>">
<input type="submit" name="delete"  value="Delete"><br >
<input type="submit" name="edit"  value="Edit"><br >
</form>
<?php 

 if(isset($_POST['delete'])){

 $user  = $_POST['delete'];
$delet_query = mysql_query("DELETE FROM kalender_contents WHERE `id` = '$events'")     or     die(mysql_error());

if($delet_query) {
echo "event deleted";
echo $events;
            }
            }    
    }
}
}
?>

但是WHEREid= '$events'不起作用。如何在按钮单击时指定 ID。

4

2 回答 2

0

尝试将其相关event id的形式像

<form method="POST" action="<?php $_SERVER['PHP_SELF']; ?>">
    <input type="hidden" name="event_id" id="event_id" value="<?php echo $events['id'];?>">
    <input type="submit" name="delete"  value="Delete"><br >
    <input type="submit" name="edit"  value="Edit"><br >
</form>

并在您的提交查询中使用

$delet_query = mysql_query("DELETE FROM kalender_contents 
                            WHERE `id` = $_POST['event_id']");

每当您提交表单时,都会传递其事件 ID,并且您需要将该 post 变量传递给您的删除查询。

此外,您需要转义 id 以防止在您的查询中出现sql injectionwithmysql_real_escape_string

$delet_query = mysql_query("DELETE FROM kalender_contents 
                            WHERE `id` = ".mysql_real_escape_string($_POST['event_id']));
于 2013-10-28T12:30:15.343 回答
0

创建一个值为事件 id 的隐藏字段。

<h2>Date <?php echo "$day"."/"."$month"."/"."$year"."<br>"; ?></h2>
<?php

// event weer gegeven
while ($events = mysql_fetch_array($resultEvents)){
echo "<strong>Event ID:</strong> ".$events['id']."<br>";
echo "Added: ".$events['added']."<br>";
echo "Title: ".$events['titel']."<br>";
echo "Detail: ".$events['content']."<br>";
?>


<form method="POST" action="<?php $_SERVER['PHP_SELF']; ?>">
<input type="hidden" name="event_id" value="<?php echo $events['id'];?>">
<input type="submit" name="delete" value="Delete"><br >
<input type="submit" name="edit" value="Edit"><br >
</form>
<?php 

 if(isset($_POST['delete'])){


 $user  = $_POST['delete'];
$delet_query = mysql_query("DELETE FROM kalender_contents WHERE `id` = '$events'")     or     die(mysql_error());

if($delet_query) {
echo "event deleted";
echo $events;
            }
            }    
    }
}
}
?>
于 2013-10-28T12:31:03.700 回答