Справка для начинающих: создание и хранение текста с использованием PHP - PullRequest
0 голосов
/ 09 апреля 2011

Я пытаюсь написать программу, основная идея которой заключается в том, чтобы попросить пользователя ввести текстовую область, а затем текст будет сохранен в текстовом файле. Вот код, который я пытаюсь использовать:

<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 ]

1 голос
/ 09 апреля 2011

Проверьте следующее:

  1. Имеет ли php разрешение на запись файлов в этот каталог?
  2. Этот файл php называется "myfile.php"?

В любом случае, когда что-то не работает, и вы хотите знать, что вызывает ошибку, поместите error_reporting(-1); в начале вашего php - он выдаст любую ошибку или предупреждение, в том числе те, которые были выданы fopen ().

Кроме того, вы можете проверить, правильно ли передана переменная: echo $comment сразу после ее назначения.

0 голосов
/ 09 апреля 2011

Нечто подобное может работать.

Возможно, вы захотите сделать больше со значениями, которые они вводят, и со всеми, но это в основном сделает то, что вы просите.

Вы также захотите убедиться, что у вас есть правильный путь к файлу, который вы пытаетесь записать, и что у этого файла есть правильные разрешения, позволяющие записывать его в:

<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> 

Кроме того, поскольку вы возвращаетесь на ту же страницу, вы можете поместить какое-то сообщение, сообщающее человеку, что ему удалось что-то ввести в вашу адресную книгу.

...