[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите пож найти ошибку в скрипте гостевой книги
bogdantarasenko
Решиля я написать гостевую книгу без использования баз данных,а хранить информацию в текстовом докумете.Вроде скрипт простой но все же не работает.Вся проблема в том что все вроде работатет нормально но в файл test.txt записи не добавляються.Помогите мне пожалуйтса найти ошибку.

код скрипта
index.php

<!DOCTYPE HTML>
<html>
<body>
<form action="index.php" method="POST">
<p>Введите билет</p>
<p><textarea name="message" rows="10" cols="45"></textarea></p>
<p><input type="submit" value="отправить"></input></p>
</form>
</body>
</html>
<?

$file=file("test.txt") or die("<center>данных нет</center>");
$count=count($file);
for ($i = 0; ($i < $count); $i++)
{
$rdm=explode("|||||",$file[$i]);

if($i > $count-4)
{
?>
<?echo "Сообщение:$rdm[1]";?><br><br><?
}
}


?>

add.php

<?

$filename = 'test.txt';
$content = $_POST["message"];
if (is_writable($filename))
{
if (!$handle = fopen($filename,'a')) {
echo "не могу открыть ($filename)";
exit;
}
if (fwrite($handle,$content) === FALSE){
echo "не могу записать в файл ($filename)";
exit;
}
echo "запись добавлена"
fclose($handle);
} else {
echo "файл не доступен для записи";
}

?>
bogdantarasenko
в index.php изменил на form action="add.php" но все равно не добавляет в текстовый файл записи
bogdantarasenko
теперь добавляет в текст.файл но не выводит сам текст,тоесть пишет "Сообщение: " а сам текст не выводит

index.php

<!DOCTYPE HTML>
<html>
<body>
<form action="add.php" method="POST">
<p>Введите билет</p>
<p><textarea name="message" rows="10" cols="45"></textarea></p>
<p><input type="submit" value="отправить"></input></p>
</form>
</body>
</html>
<?

$file=file("test.txt") or die("<center>данных нет</center>");
$count=count($file);
for ($i = 0; ($i < $count); $i++)
{
$rdm=explode("|||||",$file[$i]);

if($i > $count-4)
{
?>
<?echo "Сообщение:$rdm[1]";?><br><br><?
}
}


?>

add.php
<?

$filename = 'test.txt';
$content = $_POST['message'];


if (is_writable($filename))
{
if (!$handle = fopen($filename,'a')) {
echo "не могу открыть ($filename)";
exit;
}
if (fwrite($handle,$content) === FALSE){
echo "не могу записать в файл ($filename)";
exit;
}
echo "запись добавлена";
fclose($handle);
} else {
echo "файл не доступен для записи";
}

?>
artifex
Я удобнее сделал, чтобы читабельнее было

index.php

<!DOCTYPE HTML>
<html>
<body>
<form
action="add.php" method="POST">
<p>
Введите билет</p>
<p><textarea
name="message" rows="10" cols="45"></textarea></p>
<p><input
type="submit" value="отправить"></input></p>
</form>
</body>
</html>

[php]
<?

$file=file("test.txt") or die("<center>данных нет</center>");
$count=count($file);
for ($i = 0; ($i < $count); $i++)
{
$rdm=explode("|||||",$file[$i]);

if($i > $count-4)
{
?>
<?
echo "Сообщение:{$rdm[0]}";?><br><br><? // вот здесь индекс 0 поставьте и будет все выводить)
}
}



?>
[/php]



add.php

<?

$filename = 'test.txt';
$content = $_POST['message'];


if (is_writable($filename))
{
if (!$handle = fopen($filename,'a')) {
echo "не могу открыть ($filename)";
exit;
}
if (fwrite($handle,$content) === FALSE){
echo "не могу записать в файл ($filename)";
exit;
}
echo "запись добавлена";
fclose($handle);
} else {
echo "файл не доступен для записи";
}

?>


На будущее, не используйте, <? ?>, их желательно использовать в альтернативном синтаксисе, т.е. если хотите вывести на экран не написав слово (<?php echo $page ?>) == (<?=$page?>), или прогнать циклом html,
<? foreach($articles as $article): ?>
<br/>
<
p><?=$article?></p>
<? endforeach ?>

А для остальных по мне, так лучше записывать <?php ?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.