Я только начинаю изучать код с помощью YouTube и других сайтов, и я запустил tino проблему. Вот мой код:
<form action="" method="post" id="c">
<label> Name: <br><input type="text" name="name" size="36"></label><br></br>
<label> Message: <br><textarea cols="35" rows="5" name="mes"></textarea></label><br></br>
<input type="submit" name="submit" value="Submit" class="texty" >
</form>
<?php
$post = $_POST["post"];
$name = $_POST["name"];
$text = $_POST["mes"];
if ($post) {
#WRITE DOWN COMMENTS#
$write = fopen("c.txt", "a+");
fwrite($write, "<u><b> $name</b></u><br>$text<br></br>");
fclose($write);
#DISPLAY COMMENTS#
$read = fopen("c.txt", "r+t");
echo "All comments:<br>";
while (!feof($read)) { #this line does the error#
echo fread($read, 1024);
}
fclose($read);
}
else{
#DISPLAY COMMENTS#
$read = fopen("c.txt", "r+t");
echo "All comments:<br>";
while (!feof($read)) {
echo fread($read, 1024);
}
fclose($read);
}
?>
Итак, у меня есть 2 файла: один, в который вы вводите свой комментарий и публикуете его, и другой файл .txt, в который вставляется то, что вы набрали, а затем возвращается на страницу.
Я думаю, что что-то может быть не так с разрешением файлов, потому что, если я помещу это только в «r», то это не выдаст мне ошибку, но тогда не сохранит то, что я пытаюсь опубликовать …
Спасибо за чтение и ответ.
fopen
вернет логическое (FALSE
) если файл не может быть открыт. Вы должны проверить это $read
не ложно, прежде чем пытаться передать его feof
, А потом выясните, почему вы не можете прочитать файл.
if ($read) {
...
Ваш файл может быть нечитаемым из-за разрешений или если сам файл не может быть найден. Вы имеете в виду c.txt
, но находится ли он в том же каталоге, в котором находится PHP? Вы можете узнать, в каком каталоге находится PHP getcwd
,
echo getcwd()
Кроме того, ваш обработчик формы будет входить в ветвь записи, только если $_POST['post']
имеет значение, но это имя не используется в вашей форме (по крайней мере, в показанном примере).
Спасибо Дэн, Проблема была в команде отправки. Один был отправлен, а другой пост, так что он не понимал, что я пытался сделать.
PS: Извините за поздний ответ; _;