提交评论编辑在textarea然后保存

问题描述:

所以,我正在处理一个简短的脚本,需要用户的“错误报告”,并保存它。使用编辑按钮显示页面底部的注释以进行编辑。我想让那个按钮把用户带到另一个带有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

你真的需要把所有这一切到一个数据库这将是更更轻松。

但是..当你的foreach该文件夹中的所有评论添加$ _GET变量,像这样的文件名:

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

然后编辑部分,您可以拨打urldecode($ _ GET [“com_id” ])来访问文件名并编辑评论。