Статьи PHP, Форум, Уроки PHP, дизайн, раскрутка сайта
Портал для программистов, дизайнеров, SEO - оптимизаторов.
Статьи PHP, MySQL, AJAX, Раскрутка сайта, Заработок на своем сайте
Статьи PHP, MySQL, AJAX, Раскрутка сайта, Заработок на своем сайте
TIGER ICQ 3 6 0 2 9 5 6 8 3
     
Выберите раздел
php, javascript,ajax,mysql,TIGER CMS
  Для начинающих
php, javascript,ajax,mysql,TIGER CMS
  Общие
php, javascript,ajax,mysql,TIGER CMS
  Безопасность
php, javascript,ajax,mysql,TIGER CMS
  Интересное
php, javascript,ajax,mysql,TIGER CMS
  Новости PHP
php, javascript,ajax,mysql,TIGER CMS
  PHP + AJAX
php, javascript,ajax,mysql,TIGER CMS
  JavaScript
php, javascript,ajax,mysql,TIGER CMS
  Дизайн
php, javascript,ajax,mysql,TIGER CMS
  Раскрутка
php, javascript,ajax,mysql,TIGER CMS
  Заработок
php, javascript,ajax,mysql,TIGER CMS
  Советы

Поиск
 
 
 

Друзья сайта
 
 
1. www.bvisoft.com
Онлайн счетчик
 

Статистика
  Всего статей: 405
  Опубликовано: 405
  Проверяються: 0
  Добавлено сегодня: 0
--------------------------------------
  Прочитано статей: 405
  Всего прочтений: 155335
--------------------------------------
  Сейчас читают: 4 чел.

Кнопка сайта
  Если мой сайт вам чем-то помог, поставьте, пожалуйста, на своем сайте такую кнопку:
 
  Код кнопки:
 

 

Пишем свои первые новости на php [Версия для печати]
Разместил: admin . Раздел: Для начинающих. Опубликовано: 09-20-2007 18:02:51
Пишем свои первые новости на php. Часть первая: создаём базу и скрипт вывода новостей.

01.06.2003

Так что же нужно для того, чтобы написать скрипт новостей? По-моему вот что: скрипт, который выводит сами новости и управление скриптом для админа, через
которое можно добавлять новые и изменять старые новости.

И так, сегодня напишем первую часть скрипта, а именно саму базу и вывод новостей. Для того, чтобы выводить новости, они должны где-то храниться, а вот где?
Так как мы начинающие, будем хранить новости в текстовых файлах, на мой взгляд, для новичков этот способ самый приемлемый. База будет выглядеть следующим
образом:
31.05.2003 Первая новость
01.06.2003 Вторая новость
02.06.2003 Третья новость
Как видно, в начале идёт дата новости, через пробел сама новость, каждая должна находится на одной строке, т.е. если в базе будет 200 строк, то это значит, что у
нас имеется 200 новостей. Осталось дать имя текстовой базе, пускай оно будет news.inc.dat

С базой разобрались, пока будем добавлять новости вручную, во второй части статьи подробно опишу, как создать управление. И так, приступаем к созданию
вывода новостей, создадим файл snews.php, он будет отвечать за вывод новостей, впишем в него следующее:


<?
$newsbase=file("news.inc.dat");

# В переменную $newsbase загоняем все строчки из базы новостей
# Обратиться к каждой строчке можно так:
# $newsbase[0] - первая строка
# $newsbase[1] - вторая строка
# $newsbase[2] - третья строка

# Не забывайте, что между $newsbase[ и ] нужно
# указывать не номер строки, а ту цифру или
# число, которое получается из формулы n-1
# (номер строки минус единица).

$newscount=count($newsbase);

# Подсчитываем количество строчек (новостей) в базе.

# Теперь нужно вывести новости, можно это сделать так:
# echo $newsbase[0]."<br>";
# echo $newsbase[1]."<br>";
# echo $newsbase[2]."<br>";
#
# Но зачем нам выводить всё это вручную?
# Каждый раз при добавлении новой новости будем
# добавлять "echo $newsbase[n]"? Зачем? Воспользуемся циклом:

while($string=array_pop($newsbase))
# Запускаем цикл, он будет работать до тех пор,
# пока не прочитается вся база.
# Читаться она будет с конца, ведь все новые новости
# находятся в самом низу базы.
{
# А ведь строка выглядит так: дата новость
# Определяем, что перед первым пробелом идёт дата, а всё
# что после - новость.
list($date,$news)=split(" ",$string,2);
# $data - дата, $news - новость.
echo "<br><i>Дата: ".$date."<br>Новость:</i> ".$news."<br>";
# Выводим дату и новость.
}
# Цикл окончен.

echo "<hr>Всего новостей: <b>".$newscount."</b>";
# Показываем количество строчек (новостей) в базе.
?>


Закрываем snews.php, сохраняем. Теперь откроем базу (файл news.inc.dat) и впишем в него несколько новостей, для тестирования скрипта:
31.05.2003 Первая новость
01.06.2003 Вторая новость
02.06.2003 Третья новость
03.06.2003 Четвёртая новость
04.06.2003 Пятая новость
05.06.2003 Шестая новость
06.06.2003 Седьма новость
07.06.2003 Восьмая новость
08.06.2003 Девятая новость
09.06.2003 Десятая новость
Сохраняем.

Скрипт выполняющий вывод новостей и сама база должны находиться в одной папке.

Теперь запустим файл, который отвечает за вывод новостей, а именно snews.php.

Результат будет таким:

Дата: 09.06.2003
Новость: Десятая новость

Дата: 08.06.2003
Новость: Девятая новость

Дата: 07.06.2003
Новость: Восьмая новость

Дата: 06.06.2003
Новость: Седьма новость

Дата: 05.06.2003
Новость: Шестая новость

Дата: 04.06.2003
Новость: Пятая новость

Дата: 03.06.2003
Новость: Четвёртая новость

Дата: 02.06.2003
Новость: Третья новость

Дата: 01.06.2003
Новость: Вторая новость

Дата: 31.05.2003
Новость: Первая новость
-----------------------------------------------------
Всего новостей: 10

Про усовершенствование нашего с Вами новостного скрипта, читайте в следующей части, до встречек :)Автор статьи: manlix
его сайт: manlix.ru

----------------------------------------------------
Часть вторая: создаём первую часть управления, а именно возможность добавлять новые новости.

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

И так, перед нами две задачи: написать управление и защитить её паролем.

Первым делом создадим файл add.php Теперь запишем в него php код:


<?
$mypassword="password";

# Устанавливаем пароль для входа в правление.
# По умолчанию, он будет таким: password

# При удачном входе в управление - пароль будем записывать в куку
// (cookie).
# Для этого нам понадобится php интерпретатор версией не ниже 4.1.0

$password=(empty($_cookie['password']))?(empty($_post['password']))
?null:$_post['password']:$_cookie['password'];

# Заносим в $password значение из переменной $_post['password']
# (она появляется при заполнении формы), если же переменная
# $_post['password'] - пуста, то пытаемся считать пароль из куки
# (cookie), а именно из переменной $_cookie['password'], если и в
# ней ничего нет, то записываем в переменную $password пустоту (null).

# Выводим форму для ввода пароля если он не введён,
# либо введён неправильно.

if($password!=$mypassword)
echo <<<html
<table border=0 align=center>
<form method=post>
<tr><td colspan=2 align=center><b>Вход в управление новостями<br><br></b></td></tr>
<tr><td>Пароль:</td><td><input type=password name=password></tr>
<tr><td colspan=2 align=center><br><input type=submit value=Войти></td></tr>
</form>
</table>
html;

# Если же пароль введён правильно, то:

else
{
# Добавлаяем пароль в куку (cookie). Он будет хранится всего-лишь
# одну сессию, т.е. после закрытия браузера, пароль автоматически
# сотрётся из памяти Вашего компьютера.
setcookie("password",$password);

// Если новость не введена, то показываем форму для её добавления.
if(empty($_post['newnews']))
echo "
<table border=0 align=center>
<form method=post>
<tr><td align=center><b>".date('d.m.y',time())."<br><br>Введите новую новость:</b></td></tr>
<tr><td><textarea name=newnews cols=50 rows=10></textarea></tr>
<tr><td align=center><br><input type=submit value=Добавить></td></tr>
</form>
</table>";

// Если же новость введена, то добавляем её
// в базу (в файл news.inc.dat)
else
{
// Открываем файл news.inc.dat для добавления
// новой строчки (новости)
$opennewsfile=fopen("news.inc.dat",'a');
// Добавляем новость.
fwrite($opennewsfile,date('d.m.y',time()).chr(32).
stripslashes($_post['newnews']).chr(13).chr(10));
// Закрываем файл news.inc.dat
fclose($opennewsfile);

// Выводим сообщение о том, что новость добавлена.
echo <<<html
<center><b><font color=green>Новость добавлена</font>
<br><br><a href=?>добавить ещё одну новость</a></b></center>
html;
}
}
?>

Сохраните файл add.php

Запустите, увидите перед собой форму для ввода пароля, введите пароль password
Теперь перед Вами появится форма для добавления новой новости.

В следующей части статьи расскажу о том, как написать скрипт для изменения старых новостей.
Автор статьи: manlix
его сайт: manlix.ru

Источник: http://articles.org.ru   Прочитана 803 раз.
  Закладки:  
     
     
     




     
   TIGER EMAIL tiger1989@mail.ru
online SpyLOG тИЦ и PR
Copyright 2007 by TIGERCMS.com
Powered by TIGER-News v1.1