PHP - 将用户输入保存到文本文件和displayit中,允许用户重用其输入的文本

时间:2013-12-11 17:47:48

标签: php user-input

我有一个php脚本,当我点击“保存”时,它会将2个文本输入的内容存储到文本文件中

如何在按下“保存”按钮时执行以下操作:

  • 第1步:来自2个输入的文本保存在我的“file1.txt”中

  • 第二步:两行文字显示在同一页面中(就像在留言簿中一样)但在显示的行附近有一个“RESAVE”按钮,这样用户可以快速重新保存他输入的内容15分钟以前,或5个小时前。 在按下“RESAVE”时,在留言簿中显示的行应覆盖“file1.txt”的内容

  • 第3步:用户编写的所有行都需要存储在txt文件或数据库中,这样如果它太大,我可以删除最旧的行。

HTML表单:

<head>
<meta charset="UTF-8">
</head>

<title></title>

<div align="center">

<form action="myprocessingscript.php" method="POST">
    <B><br>
    <img src="logo_digi24.png" width="233" height="216"><br>
    <br>
Text1: </B><input name="text1" size="80" maxlength="41" type="text" placeholder="Only 41 chars allowed" class="hintTextbox" /></p>
    <B>Text2: </B><input name="text22" size="80" maxlength="73" type="text" placeholder="Only 73 chars allowed" class="hintTextbox"/></p>
  <input type="submit" name="submit" value="SAVE">

</form>


</div>
</body>

保存表单内容的PHP脚本:

<?php
if(isset($_POST['text1']) && isset($_POST['text2'])) {
    $data = $_POST['text1'] . "\r\n" . $_POST['text1'] . "\n";


    $ret = file_put_contents('file1.txt', "\xEF\xBB\xBF". $data);

    if($ret === false) {
        die('There was an error writing this file');
    }
    else {
        echo "SAVED OK !";

        echo "<a href=\"javascript:history.go(-1)\"><p>GO BACK</p> </a>";

    }
}
else {
   die('no post data to process');
}

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为你最好使用数据库。长篇大论:

id,username,text1,text2

至于显示“text1”和“text2”中的任何文本以便用户可以重新保存,您只需执行此类操作,创建查询以根据用户名从表中提取数据。

<label>Text 1</label>
<input type='text' name='' value="<?php if(isset($data['text1'])) echo $data['text1']; ?>" />

编辑:为什么不保存表单并使用jQuery进行验证?