我有一个网页,背后有一个非常大的CMS,您可以在其中添加新闻,添加图片和其他内容。当然,你也可以删除它们。
您只需单击“删除”,它将引导您进入删除脚本,删除表中的行。问题是我有4-5个删除脚本看起来完全相同,只是它们从不同的表中删除。我希望该表是一个变量,它跟踪用户来自哪个子页面,因此我只需要一个删除脚本,而不是多个。
这是您点击删除内容的按钮:
<a href='deletenews.php?id=<?php echo $id ?>'>DELETE</a>
请注意,它会删除“news”.php,如果它只是delete.php会很好。
删除脚本如下:
session_start();
if ($_SESSION['username']) {
} else {
include 'index.php';
die ("<script> alert(You have to be logged in.');</script>");
}
mysql_connect('localhost', 'username', 'password') or die (mysql_error());
mysql_select_db('database') or die (mysql_error());
mysql_query("DELETE FROM news WHERE id = '$_GET[id]'") or die(mysql_error());
header('Location: forside.php');
我希望有一个变量,而不是“新闻”。喜欢$ delete。但是该变量需要知道从哪个表中删除内容。有没有办法去做这个?我愿意改变我的所有代码,因为我认为这是更好的做法。
答案 0 :(得分:0)
也许使用此检查:
$id = (int)$_GET['id'];
if ($id)
if ($table == 'news') {
// do something
mysql_query("DELETE FROM $table WHERE id = $id") or die(mysql_error());
// or this:
//mysql_query("DELETE FROM news WHERE id = $id") or die(mysql_error());
} elseif ($table == 'posts') {
// do something
mysql_query("DELETE FROM $table WHERE id = $id") or die(mysql_error());
// or this:
//mysql_query("DELETE FROM posts WHERE id = $id") or die(mysql_error());
} else {
die("You can not delete records from $table table");
}
}