我有自己的消息系统(它不好),我需要一些帮助。我将一些单词输入一个框然后提交。
<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
还有其他更好的方法来建立评论系统,评论会出现在另一个页面上吗?
答案 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));
}