[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите, пожалуйста...
Mike89
Собственно я просто не знаю, в чём проблема...
Хочу добавить возможность добавления комментов(новостей)... Очень плохо пока что разбираюсь в php... Вообщем-то не работает:(
Сам код:
addnews.php
<?PHP

if($HTTP_POST_VARS['submit'])
{
if($HTTP_POST_VARS['password'] == 'mysecretpassword')
{
if(!$HTTP_POST_VARS['headline'])
{
echo "Вы должны ввести заголовок новости";
exit;
}
if(!$HTTP_POST_VARS['text'])
{
echo "Вы должны ввести текст новости";
exit;
}
if(strstr($HTTP_POST_VARS['headline'],"|"))
{
echo "Заголовок не должен содержать символ - |";
exit;
}
if(strstr($HTTP_POST_VARS['text'],"|"))
{
echo "Текст не должен содержать символ - |";
exit;
}
$fp = fopen('news.txt','a');
if(!$fp)
{
echo "Ошибка открытия файла!";
exit;
}
$line = date("m.d.y") . "|" . $HTTP_POST_VARS['headline'];
$line .= "|" . $HTTP_POST_VARS['text'];
$line = str_replace("\r\n","<BR>",$line);
$line .= "\r\n";
if(!fclose($fp))
{
echo "Ошибка закрытия файла!";
exit;
}
echo "Форма успешно обработана";
}
else
{
echo "Неверный пароль";
}
}
?>
<FORM ACTION="<?=$PHP_SELF?>" METHOD="POST" NAME="ad_news">
Заголовок:<BR>
<INPUT TYPE="text" SIZE="30" NAME="headline"><BR>
Текст новости:<BR>
<TEXTAREA NAME="text" COLS="40" ROWS="5"></TEXTAREA><BR><BR>
Пароль:<BR>
<INPUT TYPE="password" SIZE="30" NAME="password"><BR>
<INPUT TYPE="submit" NAME="submit" VALUE="Добавить!"> <BR>
</FORM>



Просмотр новостей:

<?PHP
$data = file('news.txt');
$data = array_reverse($data);
foreach($data as $element)
{
$element = trim($element);
$pieces = explode("|", $element);
echo $pieces[0] . "<BR>" . "<b>" . $pieces[1] . "</b><BR>" .
$pieces[2] . "<BR><BR>";
}
?>


Форма добавления не работает... Помогите, пожалуйста...



Спустя 10 часов, 48 минут, 15 секунд (4.01.2009 - 12:53) Grazor написал(а):
как минимум, тут ошибочка... либо я чего-то не понимаю...

Код
<FORM ACTION="<?=$PHP_SELF?>"


скорее всего, там должно было быть

Код
<FORM ACTION="<? echo $PHP_SELF; ?>"



PHP
$fp = fopen('news.txt','a');
if(!
$fp)
{
echo "Ошибка открытия файла!";
exit;
}
$line = date("m.d.y") . "|" . $HTTP_POST_VARS['headline'];
$line .= "|" . $HTTP_POST_VARS['text'];
$line = str_replace("\r\n","<BR>",$line);
$line .= "\r\n";
if(!
fclose($fp))
{
echo "Ошибка закрытия файла!";
exit;
}


где здесь добавление строки $line в файл?

Спустя 1 час, 58 минут, 34 секунды (4.01.2009 - 14:52) Grazor написал(а):
Добавьте строчку

PHP
if (fwrite($fp$line) === FALSE) {
        echo 
"Ошибочка вышла! Текст не был добавлен^^";
        exit;
}

Спустя 9 часов, 54 минуты, 52 секунды (5.01.2009 - 00:47) Mike89 написал(а):
Cпасибо большое! Но не могу разбраться, почему не работает... вобщем-то ссылка - http://195.78.246.125/1.html
тут 2 фрейма... левый - addnews.php (форма добавления), правый - 2.htm (просмотр)... Т.к. файла вначале нет, то правый фрейм пустой... Посмотрите, пожалуйста, в чём ошибка... Можете скачать, посмотреть... даже не знаю... sad.gif

http://195.78.246.125/news.rar - эти же файлы в архиве(на всякий случай)

Покажите, пожалуйста, в чём ошибка...

P.S. когда открывал addnews.php, то было "Невозможно отобразить страницу", а когда залил на сервер и открыл там, то "Forbidden
You don't have permission to access /< on this server."

Спустя 11 часов, 35 минут, 21 секунда (5.01.2009 - 12:22) Grazor написал(а):
Цитата
"Forbidden
You don't have permission to access /< on this server."


бесплатный хостинг? или Вы лезете в какой-то файл, который простым юзерам трогать нельзя.

вечерком посмотрю

Спустя 4 минуты, 19 секунд (5.01.2009 - 12:26) Grazor написал(а):
PHP
if (fwrite($fp, $line) === FALSE) {
        echo "Ошибочка вышла! Текст не был добавлен^^";
        exit;}


надо ставить ДО закрытия файла: функция fwrite записывает строку $line в файл $fp, то есть, её надо вставить после формирования строки $line, пока наш файл ещё не закрыт. так:
PHP
$fp = fopen('news.txt','a');
if(!
$fp)
{
echo "Ошибка открытия файла!";
exit;
}
$line = date("m.d.y") . "|" . $HTTP_POST_VARS['headline'];
$line .= "|" . $HTTP_POST_VARS['text'];
$line = str_replace("\r\n","<BR>",$line);
$line .= "\r\n";
if (!fwrite($fp, $line)) {
  echo "Ошибочка вышла! Текст не был добавлен :-[";
  exit;
}
if(!
fclose($fp))
{
echo "Ошибка закрытия файла!";
exit;
}

Спустя 1 день, 12 часов, 54 минуты, 23 секунды (7.01.2009 - 01:21) Mike89 написал(а):
сообщение не добавилось sad.gif
Спс, исправил... Но всё ещё не работает... может быть проблема в настройке php? некорректно/не полностью работает? Работает определение ip, частично работает форма upload файлов(Заливает всё подряд unsure.gif ). Посмотрите ещё раз, пожалуйста:)
Быстрый ответ:

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