Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2010, 10:42   #1
Skynet91
Пользователь
 
Регистрация: 08.06.2009
Сообщений: 11
По умолчанию Добавить новость php

Всем привет я делаю сайт на php сделал чтоб новость добовлялась на сайте при этом сохраняет в текстовом документе вот код

Код:
<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 

//Поместите этот код в один файл и назовите его addnews.php

if($HTTP_POST_VARS['submit'])
{ 
    if($HTTP_POST_VARS['password'] == '123456')
    { 
        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 "Неверный пароль"; 
    } 
} 
?>
Вот в чем проблема у меня файл создаеться но туда ни чего не записываеться подскажите в чем проблема как это можно решить
Skynet91 вне форума Ответить с цитированием
Старый 28.04.2010, 13:36   #2
(IICuX)
Пользователь
 
Регистрация: 27.04.2010
Сообщений: 22
По умолчанию

Код:
        $line .= "\r\n"; 
        if (is_writeable('news.txt'))
        {
            if(!fwrite(fp, $line))
            {
                echo "Ошибка записи в файл";
                return;
            }
        } 
        if(!fclose($fp))
        { 
            echo "Ошибка закрытия файла!"; 
            exit; 
        }
(IICuX) вне форума Ответить с цитированием
Старый 28.04.2010, 13:43   #3
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

PHP код:
 $fp fopen('news.txt','a'); 
в таком режиме вроде добавлет к уже существющему.... если же при отсутсвии файла создавал его - то режим что-то типа
PHP код:
 $fp fopen('news.txt','w+'); 
копать в параметрах данной функции
ADSoft вне форума Ответить с цитированием
Старый 28.04.2010, 14:43   #4
Vertexxx
Заблокирован
 
Регистрация: 10.04.2010
Сообщений: 145
По умолчанию

Уважаемый Skynet91, а тебя не смущает, что $HTTP_POST_VARS уже объявлены как deprecated? Вместо них лучше использовать "современные" восемь массивов с короткими названиями. У тебя версия ПЫХа какая?

Для того, чтоб записать в файл то, что ты хочешь, используй file_put_contents() с "дозаписывающим" флагом FILE_APPEND. Она эквивалентна последовательному вызову fopen() fwrite() fclose(). Появилась эта функция в РНР5.

PHP код:
file_put_contents('news.txt'$lineFILE_APPEND); 
Удачи!
Vertexxx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавить запись в MySQL. Apache. PHP. ViNcHeStEr PHP 3 11.08.2012 11:29
PHP test.php?a=1&b=1 не работает передача параметров бедный_студент PHP 5 25.08.2010 23:08
Как добавить \r\n.\r\n ??? dimorik Общие вопросы C/C++ 1 23.03.2010 11:57
[Новость] Британские ученые проводят мумификацию online Alex Cones Свободное общение 2 22.01.2010 06:56
Добавить название Romuald Microsoft Office Excel 2 13.05.2009 10:18