我正在为学校项目做留言簿。我能做的就是删除其中的帖子。不幸的是,当双击提交按钮进行删除时,它会删除所有帖子。
我需要它做的是当你按相应的按钮进入POST时删除一个帖子(你要删除的帖子或整个postrow)。我有点卡住所以任何帮助都会非常好!
这是留言簿页面的代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<h1>Välkommen till gästboken!</h1>
<h2>Posta till Gästboken</h2>
<form action="home.php" method="post">
<table>
<tr>
<td>Titel:</td>
<td><input type="text" name="titel" style="width: 600px;" /></td>
</tr>
<tr>
<td>Inlägg:</td>
<td><textarea name="inlägg" style="width: 600px; height: 300px;"></textarea></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="postknapp" value="Posta" /></td>
</tr>
</table>
</form>
<p>
<a href="logga_ut.php">Logga ut</a>
<?php
session_start();
$username = $_SESSION['username'];
if($_SESSION['login'] == 1) { //om sessionen är 1 så
// Connect to the database
mysql_connect("localhost", "root", "");
mysql_select_db("guestbookdatabase");
//******************************************************************//
//Display stuff
echo "<h1>Nuvarande Poster</h1>";
if ($_POST['postknapp']) {
$title = strip_tags($_POST['titel']);
$message = strip_tags($_POST['inlägg']);
$UserID = $_POST['UserID'];
if ($title && $message) {
//Lägg till i databasen
mysql_query("INSERT INTO guestbook (Title,Post,Username,UserID) VALUES ('$title','$message','$username', $UserID)");
echo "Ditt inlägg har lagts till i gästboken!";
} else
echo "Du har inte fyllt i nödvändig information för att kunna göra ett inlägg.";
}
$query = mysql_query("SELECT * FROM guestbook ORDER BY PostID DESC");
$numrows = mysql_num_rows($query);
if ($numrows > 0){
while ( $row = mysql_fetch_assoc($query) ) {
$id = $row['PostID'];
$name = $row['Username'];
$title = $row['Title'];
$message = $row['Post'];
$date = $row['Timestamp'];
$message = nl2br($message);
echo "<div>
Av <b>$name</b> vid <b>$date</b><br />
<h2>$title</h2> <p>
$message <p>
<div align = 'right'>
</div></div><hr />";
?>
<form action="home.php" method="get">
<input type='submit' name='Raderaknapp' value='Ta bort inlägget' />
</form>
<?php
if ($_GET['Raderaknapp']) {
mysql_query("DELETE FROM guestbook WHERE PostID ='".$id."' AND Username='".$UserID."'");
echo "Inlägget har tagits bort!";
}
}
} else
echo "Inga inlägg hittades.";
//*****************************************************************//
mysql_close();
?>
<?php
} else { // om session inte är 1 så
echo "Du har INTE tillåtelse till gästboken! Klicka på länken för att logga in!";
?>
<p>
<br/><a href="index.html">Till login >></a>
<?php
}
?>
答案 0 :(得分:1)
您的代码字面上说“如果$_GET['Raderknapp']
设置为非零(换句话说,是真的),请删除行”。 $_GET['Raderaknapp']
上没有任何条件,也没有任何方法可以确定您要删除的行。