使用php删除div

时间:2013-10-30 08:32:02

标签: javascript php jquery html

我有自己的消息系统(它不好),我需要一些帮助。我将一些单词输入一个框然后提交。

<form name="input" action="messagesave.php" method="POST">

$myFile = "messages.txt";
$fp = fopen($myFile, 'a') or die("can't open file");
$stringData = "<div class='messages'>" . $_POST["comment"] . "</div>" . "<br />";
fwrite($fp, $stringData);
fclose($fp);

保存我的信息,在另一个页面上显示我的信息

<?php include 'messages.txt';?>

在该页面上我希望能够删除消息,我尝试使用Javascript,人们告诉我你需要使用PHP来删除它。如何点击邮件旁边的内容将其删除?

OR

我可以每次将消息保存到不同的文件中,例如$ myFile =&#34;消息[1然后2然后3 ect ..]&#34 ;; 然后通过php打开全部包含&#39;消息[所有这些] .txt&#39;

OR

还有其他更好的方法来建立评论系统,评论会出现在另一个页面上吗?

3 个答案:

答案 0 :(得分:0)

只能使用javascript

完成

例如

<div id="message">
<?php include 'messages.txt';?>
</div>

并使用jquery删除此文本文件中div内的特定消息 例如,假设您的消息将是那样的

<div id="submessage">Some Text Here</div>

$('#message').click(function(){
  this.find('#submessage').fadeOut ();//This will remove comment div when clicking it's    parent
 });

答案 1 :(得分:0)

您可以使用unlink删除整个文件吗?

http://php.net/manual/en/function.unlink.php

if ($_POST['delete_file]) {
    unlink('message.txt');
}

或者如果你知道文件中的消息是什么行,你可以删除该行;

答案 2 :(得分:0)

你需要的是为每个div提供id

$myFile = "messages.txt";

$todo = getRequest('todo', true);

switch($todo) {
    case 'add' :
        $message = getRequest('msg', true);
        if(is_null($message)) {
            //hlandle it
            echo "no message found to add!";
        }
        addMessage($message);
        break;
    case 'remove':
          $id = getRequest($id, true);
           break;
        default:
         echo 'what do you want me to do?';
    }

    function getRequest($key, $only_post = false) {

        if($only_post) {
            if(! isset($_POST[$key])) {
                return null;
            }
            return $_POST[$key];
        }
        if(! isset($_REQUEST[$key])) {
            return null;
        }
        return $_REQUEST[$key];
   }

    function addMessage($message) {
        global $myFile;
        $id = microtime();
        $div = "<div class=\"messages\" id=\"{$id}\">{$message}</div>";
        file_put_contents($myFile, $div ,FILE_APPEND);
    }

    function removeMessage($id) {
        global $myFile;
        $content_list = explode("\n" , file_get_contents($myFile));

        if(empty($content_list)) {
            return false;
        }

        for($i = 0; $i < count($content_list); $i++) {
            if(preg_match("/<div[^<>]*id=\"{$id}\"/i", $content_list[$i])) {
                unset($content_list[$i]);
                break;
            }
        }
        file_put_contents($myFile, implode("\n", $content_list));
    }