2013-02-27 35 views
0

所以,我正在處理一個簡短的腳本,需要用戶的「錯誤報告」,並保存它。使用編輯按鈕顯示頁面底部的註釋以進行編輯。我想讓那個按鈕把用戶帶到另一個帶有textarea的頁面,他們的評論在這裏是可編輯的,還有一個保存按鈕來保存他們的報告。我不確定如何鏈接到用戶上傳的確切評論。
像這樣: report提交評論編輯在textarea然後保存

edit

這是我到目前爲止有:

報告問題

<form method="POST" action="Bugs.php"> 
    <p>Bug Name <input type="text" name="name" /><br /> 
    Hardware Type <input type="text" name="hw" /><br /> 
    OS <input type="text" name="os" /> <br /> 
    Frequency of Occurence <input type="text" name="freq" /></p> 
    <p>Proposed Solutions<br /> 
    <textarea name="sol" rows="6" cols="100"></textarea> 
    <input type="submit" name="submit" value="Create New Bug Report" /></p> 
</form> 

<?php 



$Dir = "comments"; 

if (is_dir($Dir)) { 
    if (isset($_POST['submit'])) { 
    if (empty($_POST['name'])) { 
     $String = "Unknown Visitor"; 
    } 
    else 
     $String = stripslashes($_POST['name']) . "|"; 
     $String .= stripslashes($_POST['hw']) . "|"; 
     $String .= stripslashes($_POST['os']) . "|"; 
     $String .= stripslashes($_POST['freq']) . "|"; 
     $String .= stripslashes($_POST['sol']); 
     $CurrentTime = microtime(); 
     $TimeArray = explode(" ", $CurrentTime); 
     $TimeStamp = (float)$TimeArray[1] + (float)$TimeArray[0]; 
     /* File name is " Comment.seconds.microseconds.txt" */ 
     $SaveFileName = "$Dir/Comment.$TimeStamp.txt"; 
      if (file_put_contents($SaveFileName, $String)>0) 
       echo "File \"" . htmlentities($SaveFileName) . "\" successfully saved.<br />\n"; 
      else 
       echo "There was an error writing \"" . htmlentities($SaveFileName) . "\".<br />\n"; 
    } 
} 

if (is_dir($Dir)) { //show submitted reports on page 
$CommentFiles = scandir($Dir); 
foreach ($CommentFiles as $FileName) { 
    if (($FileName != ".") && ($FileName != "..")) { 
     echo "From <strong>$FileName</strong><br />"; 
     echo "<pre>\n"; 
     $Comment = file_get_contents($Dir . "/" . $FileName); 
     echo $Comment . "<a href=edit.php>Edit</a>"; 
     echo "</pre>"; 
     echo "<hr />"; 
    } 
    } 
} 



?> 
+2

我認爲你真的需要考慮你的代碼結構,如果你不打算將數據插入到SQL服務器,你必須爲每個錯誤報告分配一個id給你的文件,將這些ID保存在另一個文件中,以便您可以檢測到它們,然後您可以使用該ID來完成您的工作,同時請記住,只有發送該錯誤報告的用戶才能編輯它 – 2013-02-27 17:07:14

+0

對不起, '新的PHP和非常多的學習過程中(我聽說Gosselin不是最好的作者),一如既往,如果你有任何良好的資源來學習PHP我很樂意欣賞它。謝謝。 – 2013-02-27 17:14:56

回答

1

你真的需要把所有這一切到一個數據庫這將是更更輕鬆。

但是..當你的foreach該文件夾中的所有評論添加$ _GET變量,像這樣的文件名:

echo $Comment . "<a href=edit.php?com_id=" . urlencode($Filename) . ">Edit</a>"; 

然後編輯部分,您可以撥打urldecode($ _ GET [「com_id」 ])來訪問文件名並編輯評論。