初学者帮助:使用PHP创建和存储文本

时间:2011-04-09 04:58:00

标签: php html fopen fputs

我正在尝试编写一个程序,其基本思想是我要求用户在textarea中输入,然后将文本存储到word文件中。这是我正在尝试使用的代码:

<html>
<head>
<title>Simple Guestbook</title>
</head>

<body>
<h1>Simple Guestbook Comment Creator</h1>
<br>
<form method = "post"
        action = "mysite.php">
    <textarea name = "text"
        rows = "10"
        cols = "20">Write Here</textarea>

<input type = "submit"
        value = "Submit Comment">

</form>

<?
    if($_POST['text'] !== NULL){
        $comment = $_POST['text'];


    $file = fopen("texttest.txt", "a");
    fputs($file, "<br>\n$comment");
    fclose($file);  
    }       

?>

</body> 
</html>

我似乎无法使其正常工作。我也在考虑以某种方式使表单操作存储文本,然后重新加载网站,但我还没有得到工作(原始文件是mysite.php,所以操作是重新加载页面)。

如果有人对使用/使用不同语法的算法有任何更好的想法,请告诉我,因为我刚开始学习基本的PHP语法。

由于

2 个答案:

答案 0 :(得分:1)

检查以下内容:

  1. php是否有权在该目录中写入文件?
  2. 这个php文件名为“myfile.php”吗?
  3. 无论如何,当某些东西不起作用并且你想知道是什么导致了恐怖时,将error_reporting(-1);放在你的php的开头 - 它将输出任何错误或警告,包括fopen()所播放的错误或警告。

    此外,您可能需要在分配后立即检查变量是否已正确提交:echo $comment

答案 1 :(得分:0)

这样的事可能有用。

您可能希望对所输入的值以及所有值进行更多操作,但这基本上可以满足您的要求。

您还需要确保您拥有正在尝试写入的文件的正确路径,并且该文件具有允许其写入的正确权限:

<html>
<head>
    <title>Simple Guestbook</title>
</head>

<body>
    <h1>Simple Guestbook Comment Creator</h1><br>

    <?php
        if (isset($_POST['submit'])) {
            if (strlen(trim($_POST['comment']))) {
                $file = fopen("texttest.txt", "a");
                fputs($file, "$_POST['comment'])\n");
                fclose($file);  
            }
        } else {
    ?>
    <form method = "post" action = "<?php echo($_SERVER['PHP_SELF']); ?>">

        <label>Leave your comment
        <textarea name="comment" rows="10" cols="20"></textarea>
        </label>

        <input type="submit" name="submit" value="Submit Comment" />

    </form>
    <?php
        }
    ?>
</body> 

此外,由于您要返回同一页面,因此您可能需要提供某种消息,让该人知道他们已成功将某些内容输入您的地址簿。