2013-10-30 9 views
0

나는 혼자서 만든 메시지 시스템을 가지고 있으며 도움이 필요하다. 상자에 몇 단어를 입력 한 다음 제출하십시오. 별도의 페이지에, 내 메시지를 저장PHP를 사용하여 div를 제거

<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';?> 

를 표시하고 내가 메시지를 삭제할 수 있도록하려면 해당 페이지에, 나는 자바 스크립트 등을 사용하여 시도 사람들은 PHP를 사용하여 삭제해야한다고 말했습니다. 메일 옆에있는 것을 클릭하여 삭제할 수 있습니까?

또는

나는 다른 파일에 $의 myFile 같은 때마다 = "[다음 1 2 다음 3 요법 ..] 메시지"를 메시지를 저장할 수있다; PHP가 포함하는 모든으로 열기 '메시지 [모두]를 .txt 인'

또는

댓글이 다른 페이지에 나타나는 주석 시스템을 수행하는 다른 더 나은 방법은?

+1

해당 파일에 하나의 메시지보다가있을 수 있습니까? 당신이 messge를 삭제하는 방법보다. –

+0

div 메시지를 제거하는 방법 – user2092317

+0

[열려있는 파일의 내용] (http://stackoverflow.com/questions/19676455/delete-an-entire-div)을 언급하면 ​​도움이됩니다. – Nightfirecat

답변

0

은, 예를 들어,이 텍스트 파일 에 사업부 내에서 특정 메시지를 삭제하여 메세지를 지정하지 않고 그

같은 것 생각하는 예를

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

및 사용에 대한 jQuery 자바 스크립트만을

을 사용하여 수행 할 수 있습니다

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

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

그는 그 txt 파일 안에 div를 묻고 있다고 생각합니다. –

0

unlink을 사용하여 전체 파일을 삭제할 수 있습니까?

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

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

아니면 메시지가 당신이 줄을 제거 할 수있는 파일에 있었다 줄 것을 안다면, 각 사업부에 ID의를 제공하고 필요한 것은

+0

각 행의 메시지 안에 각 div가 있기 때문에 어떻게 각 행의 내용을 제거 할 수 있습니까? – Friedpanseller

0

$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)); 
    } 
관련 문제