PHP:如何从用户那里获取输入,存储并显示回来?

时间:2011-01-15 23:04:13

标签: php html forms

我一直在尝试创建一些可以让我的PHP代码 使用文本框从用户获取输入。我想再存储 输入(可能长达7个字符)然后显示它 在列表格式的页面上(例如 1 2 3 )

我已经在这几个小时阅读教程,什么不是,但一切 我发现只显示了fwrite功能,当我试图追加我时 最终删除数据。

如果可能的话,我希望最新的输入显示在列表的顶部。

有人能帮助我吗? 我真的很沮丧,我知道几乎没有PHP ..有点玩耍 有了它,无法弄清楚= /

我在考虑将用户的输入存储在数组中,然后显示数组。 但这对我也不起作用。

5 个答案:

答案 0 :(得分:2)

所以你想要一个表格,让用户输入文字,然后显示所有用户输入的所有文字,有点像墙或留言簿。

我假设你已经设法通过在表单提交后查看$_POST来获取用户的输入。要将其存储在文件中而不覆盖现有文件内容,最简单的方法是使用特殊file_put_contents标记FILE_APPEND

假设您的HTML表单包含name="newData"的文本框。然后,在表单提交目标脚本中:

//store all user input in a file called data.txt in the current directory
$filename = "./data.txt" ;
$newData = $_POST['newData'] . "\n" ;
file_put_contents($filename, $newData, FILE_APPEND);

//now fetch all data and display it
$lines = file($filename) ; 

echo '<ul>' ;

foreach ($lines as $line) {
    echo "<li>$line</li>" ;
}

echo '</ul>' ;

像这样开始查看基本操作,然后您可以查看:

  • 过滤用户输入,以便您不会存储和显示任何令人讨厌的东西
  • 将数据文件存储在Web根目录之外,以便无法通过浏览器访问
  • 美化输出列表

答案 1 :(得分:1)

如果他们通过表单提交数据,它将POST到服务器;意思是你可以使用:

<form action="target.php" method="post">
     <input type="text" name="username" value="" />
     <input type="submit" name="submit value="Submit" />
</form>

用于标记,然后用于PHP(在target.php上):

<?php 
    if (isset($_POST['submit']) { //to check if the form was submitted
        $username= $_POST['username'];
    } 
?>

此时,您可以在任何想要回显上一页输入数据的地方使用<?php echo $username ?>

我也不是PHP专家(我推荐Lynda.com培训视频,“PHP&amp; MySQL Essential Training”和“PHP&amp; MySQL Beyond The Basics”和Kevin Skoglund)但也许这有帮助。

答案 2 :(得分:1)

尝试使用php中的用户输入

$ variablname = fgets(STDIN); echo $ variable;

答案 3 :(得分:0)

file_put_contents('/path/to/file','contents',FILE_APPEND);

答案 4 :(得分:0)

如上所述,您可以使用$_POST来获取数据,但值得注意的是,如果您实际在Web应用程序中使用此数据,则需要对XSS进行清理。您可以使用PHP的htmlspecialchars()

完成此操作