2015-06-09 88 views
-1

我正在尝试开发一个简单的留言簿与PHP。我已经实现了所有的功能,现在我想添加一个删除评论的功能,但我不知道该怎么做。 我想允许用户删除只有他一个复选框或别的东西删除留言的留言

Home.php评论(这是我加的注释与表单)

<?php 
error_reporting(1); 
ini_set('display_errors', 1); 
?> 

<?php 


session_start(); 

if(!isset($_SESSION['login'])) { 
    header("Location: Login.php"); 
    unset($_REQUEST); 
} 
else echo "<span class=\"welcome\"><strong>Benvenuto</strong> <em>" . $_SESSION['username'] . "</em></span>"; 
?> 

<html> 
<head> 
    <link rel="stylesheet" type="text/css" href="style.css"> 
    <script src='jquery-1.11.3.js'></script> 
    <script src='Script.js'></script> 
</head> 


<body> 

<div id="functions"> 
    <form method=post id="addForm" name="addForm" action=<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>> 
     <span class="label" style="text-align: center"> Comment </span> <textarea class="text" type=text cols=55 rows="7" name="comment"></textarea><br> 
     <br><input class="submit" type=submit name=submit value="Submit"> 
    </form> 
    <a href=viewGuest.php>View Guestbook!</a> 

</div> 


<div style="position:absolute; bottom:10px; left:50%; font-size: 15pt"><em>...</em> <a href="Logout.php">Logout</a></div> 
</body> 
</html> 


<?php 
if(isset($_POST['submit'])) { 
    $name = $_SESSION['username']; 
    $datetime = date("d-m-y h:i:s"); //date time 
    $comment = $_POST["comment"]; 

    include("Database.php"); 

    $Database = new Database("localhost", "root", "1234"); 
    $Database->connectToServer(); 
    $Database->connectToDatabase("test"); 

    $result = $Database->insertComment($name, $comment, $datetime); 

    if ($result) { 
     echo "<br>"; 
     echo "☑ Successfull!"; 
     echo "<br>"; 
     echo "<a href=viewGuest.php>View Guestbook!</a>"; 
    } else echo "☒ Error, not inserted"; 
    unset($_REQUEST); 

} 
?> 

viewGuest.php(这是在那里我显示出与表中的所有消息)

<head> 
    <link rel="stylesheet" type="text/css" href="style.css"> 
    <script src='jquery-1.11.3.js'></script> 
    <script src='Script.js'></script> 
</head> 

<body> 
<?php 

session_start(); 

if(!isset($_SESSION['login'])) { 
    header("Location: Login.php"); 
    unset($_REQUEST); 
} else $name = $_SESSION['username']; 

include ("Database.php"); 

$Database = new Database("localhost", "root", "1234"); 
$Database->connectToServer(); 
$Database->connectToDatabase("test"); 

$result = $Database->selectQuery("guestbook", "*"); 

echo "<div class=\"guestDiv\">"; 
echo "<table class=\"guestbook\" cellpadding='10'>"; 


echo "<th>Comment</th>"; 
while($rows=mysql_fetch_array($result)) { 
    ?> 
    <tr> 
     <td width="10%"><?php echo $rows['name']; ?></td> 
     <td width="20%"><?php echo $rows['datetime']; ?></td> 
     <td width="70%"><?php echo $rows['comment']; ?></td> 
    </tr> 


<?php 
} 
echo "</table >"; 
?> 

所有职位都存储在一个数据库

ID(自动递增)

名(用户提交其谁)

日期时间(日期这种格式d-M-Y H:I:S)

评论(评论本身)

+1

你怎么想删除它?你可以进入MySQL DB并在那里删除它。你也可以在PHP中删除它。你想让任何用户从前端删除评论吗?!更清楚。 –

+1

您是否尝试过为了实现这一目标? – Epodax

+0

@RobSchmuecker我认为我很清楚,我想要像“Facebook”这样的用户可以删除他(仅他的帖子)帖子/评论点击按钮。我想我必须从表格和用户那里获得帖子的日期时间,并在数据库中搜索帖子并将其删除,但我该如何获取这些值? – untruste

回答

1

感谢@RobSchmuecker的意见。现在我找到了解决办法

在viewGuest.php我modfied像

while($rows=mysql_fetch_array($result)) { 
    ?> 
    <tr> 
     <td width="10%"><?php echo $rows['name']; ?></td> 
     <td width="20%"><?php echo $rows['datetime']; ?></td> 
     <td width="60%"><?php echo $rows['comment']; ?></td> 
     <td width="10%"><?php 
      if($rows['name']== $name){ 
       echo "<a href=\"deletecomment.php?comment_id=" . $rows['id'] ."\">Delete it</a>"; 
      } 
      ?> 
     </td> 
    </tr> 


<?php 
} 
echo "</table >"; 
?> 

表一部分,所以,我确认谁提交后($行[“名称”])的用户是相同的用户登录的(在会话中的一组),如果是这样我把最后一栏的链接,deletecomment.php和我传递变量与ID有我删除它

<?php 
session_start(); 

if(!isset($_SESSION['login'])) { 
    header("Location: Login.php"); 
    unset($_REQUEST); 
} 
else { 
    if (isset($_GET['comment_id'])) { 
     $comment_id = $_GET['comment_id']; 

     include("Database.php"); 

     $Database = new Database("localhost", "root", "1234"); 
     $Database->connectToServer(); 
     $Database->connectToDatabase("test"); 

     $Database->deleteComment($comment_id); 

     header("Location: viewGuest.php"); 

    } 
} 
?>