|
|
|
| Недавно столкнулся со следующей проблеммой: для большей информативности добавил на свой сайт новостную страничку и потом осознал, что упустил один существенный момент - на всех уважающих себя проектах новости можно добавлять автоматически со специальной странички, а мне без базовых знаний php или java приходится каждый раз переписывать страничку наново, что занимает значительно больше времени и усилий ...
Решил воспользоватся php. Полистал учебник, но так пока и не разобрался. Знаю, что скрипт легкий, но пока осилить не могу.
Нужна обычна страничка, без авторизации (видеть ее буду только я) для добавления новостей по двум разделам на новостную страницу ...
Может мне кто-нибудь помочь? | |
|
|
|
|
 5.3 Кб |
|
|
для: Yevgeniy
(12.12.2005 в 10:59)
| | вырезала блок администрирования новостей из проекта, которым сейчас занимаюсь.
если что непонятно или ошибки вылезут (не тестировала отдельно от проекта), спрашивайте. | |
|
|
|
|
|
|
|
для: elenaki
(12.12.2005 в 12:26)
| | >вырезала блок администрирования новостей из проекта, которым
>сейчас занимаюсь.
>если что непонятно или ошибки вылезут (не тестировала
>отдельно от проекта), спрашивайте.
А теперь объясните пожалуйста мне новичку: єти файлы шли сами по себе или как один файл html
мои познания очень бедные ...
Что с этими блоками теперь делать? | |
|
|
|
|
|
|
|
для: Yevgeniy
(12.12.2005 в 12:41)
| | во-первых, у вас на сервере должен быть доступ к базе MySQL и PHP. без этого ничего
работать не будет - скрипт написан на PHP, новости хранятся в базе. можно, конечно,
сделать и в файлах хранение, но обработка все равно будет на PHP. у вас он есть на сервере? | |
|
|
|
|
|
|
|
для: elenaki
(12.12.2005 в 12:48)
| | есть раздел "База данных" на панели управления хостингом... Да и поддержка PHP должна быть
...
Попробовал создать базу данных: отписали, что база содана (Сервер баз данных:
db1.ho.com.ua). Что с ней дальше-то делать? | |
|
|
|
|
|
|
|
для: Yevgeniy
(12.12.2005 в 12:53)
| | надо создать таблицу:
CREATE TABLE 'news' (
'id' tinyint(11) unsigned NOT NULL auto_increment,
'lang' char(2) NOT NULL default '',
'date' varchar(12) NOT NULL default '',
'text_news' longtext NOT NULL,
'active' char(1) NOT NULL default '',
PRIMARY KEY ('id')
) TYPE=MyISAM ;
|
там, где у меня поле для языка новости (lang) вы будете хранить имя или id раздела. | |
|
|
|
|
|
|
|
для: elenaki
(12.12.2005 в 13:01)
| | что делают скрипты:
admin_news.php - выбирает из базы и выводит весь список новостей в виде N| язык(раздел)|
Дата| Новость (если длинная, можно только первые 50 символов выводить)| Активна или нет|
Кнопки Edit/Copy/Delete. конечно, постраничный вывод. кусок, где запрашиваются языки для
select, надо переделать в выбор разделов.
add_news.php - форма для ввода новости (выбор языка переделать в выбор раздела)
add_news_acc.php - занесение новости в базу, возвращение на admin_news.php
edit_news.php - форма для редактирования новости. выбирает новость из базы по id. выбор языка переделать в выбор раздела.
edit_news_acc.php - обновление новости в базе, возвращение на admin_news.php
copy_news - копирует новость с именем "copy of ...", возвращение на admin_news.php | |
|
|
|
|
|
|
|
для: elenaki
(12.12.2005 в 13:01)
| | попутный вопрос: создать где, создать в чем (извините за такое количество глупых вопросов)... | |
|
|
|
|
|
|
|
для: Yevgeniy
(12.12.2005 в 13:09)
| | если у вас есть ControlPanel для вашего сайта, там должно быть средство управления
базой (phpMyAdmin обычно). если нет, надо запустить скриптик, создающий нужную таблицу.
не извиняйтесь за вопросы, никто не рождается со знанием PHP, мы тоже в свое время
спрашивали. сейчас кину код скрипта для создания таблицы. | |
|
|
|
|
|
|
|
для: elenaki
(12.12.2005 в 13:14)
| | в контрольной панели как раз и есть эта кнопочка "База данных", с комментарием к ней ...
чтобы не быть многословным, посмотрите скрины ... | |
|
|
|
|
|
|
|
для: Yevgeniy
(12.12.2005 в 13:20)
| | так выглядит панель управления ... если щелкнуть по кнопочке выводится окошко | |
|
|
|
|
|
|
|
для: Yevgeniy
(12.12.2005 в 13:21)
| | водишь пароль, выводится: ... и больше ничего ... | |
|
|
|
|
|
|
|
для: Yevgeniy
(12.12.2005 в 13:21)
| |
<?
$db_host="";
$db_user="";
$db_password="";
$db_database="";
mysql_connect($db_host, $db_user, $db_password) or die(mysql_error());
$db = mysql_select_db ($db_database) or die(mysql_error());
mysql_query '(CREATE TABLE "news" (
"id" tinyint(11) unsigned NOT NULL auto_increment,
"lang" char(2) NOT NULL default '',
"date" varchar(12) NOT NULL default '',
"text_news" longtext NOT NULL,
"active" char(1) NOT NULL default '',
PRIMARY KEY ("id")
) TYPE=MyISAM AUTO_INCREMENT=7 ;)'
?>
|
в первые строки вставляете свои данные (узнайте у хостера), сохраняете файл с именем
create_table.php и запускаете его, набрав в броузере http://your_site/create_table.php
PS если есть кнопка "Создать базу", должна быть и кнопка "Создать таблицу" или ссылка на
phpMyAdmin. узнайте у хостера. | |
|
|
|
|
|
|
|
для: elenaki
(12.12.2005 в 13:35)
| | нашел ссылку на phpMyAdmin, зашел туда, и мне стало еще хуже :)
создание таблицы выглядит примерно вот так: ...
частично я с Вашими строками разобрался, но здесь параметров значительно больше, я ввел на пробу первую строчку - я ее ввел правильно?
Куда вводить короткие строки типа PRIMARY KEY ('id') или они формируюся автоматически (можно ли просмотреть эту таблицу в таком виде, как Вы ее мне прислали - было бы намного проще редактировать). | |
|
|
|
|
|
|
|
для: Yevgeniy
(12.12.2005 в 13:59)
| | id лучше сделать INT(11), а то TinyInt кончится на 255 | |
|
|
|
|
|
|
|
для: elenaki
(12.12.2005 в 14:11)
| | что-то получилось
CREATE TABLE 'news' (
'id' INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
'lang' CHAR( 2 ) NOT NULL ,
'date' VARCHAR( 12 ) NOT NULL ,
'text_news' LONGTEXT NOT NULL ,
'active' CHAR( 1 ) NOT NULL
) TYPE = MYISAM ;
|
так? | |
|
|
|
|
|
|
|
для: Yevgeniy
(12.12.2005 в 15:50)
| | ТАК. кстати, во всех скриптах в том архиве, который выше прикреплен, подключение к базе
осуществляется через config.inc.php. так что надо еще операцию провести, чтобы скрипты
заработали - сохранить эти строки как файл config.inc.php с вашими данными, разумеется.
<?
$db_host="";
$db_user="";
$db_password="";
$db_database="";
mysql_connect($db_host, $db_user, $db_password) or die(mysql_error());
$db = mysql_select_db ($db_database) or die(mysql_error());
?>
|
| |
|
|
|
|
|
|
|
для: elenaki
(12.12.2005 в 16:00)
| | Этот и другие файлы из архива надо разместить в каталоге со свеми остальными файлами сайта или в другом месте? | |
|
|
|
|
|
|
|
для: Yevgeniy
(12.12.2005 в 17:06)
| | лучше в отдельной папке, на которую поставить защиту с помощью .htaccess
да, забыла самое главное - вывод новостей на сайт:
<? include "config.inc.php";?>
<?
$page_query = mysql_query("select * from news where lang='$interface_lang' and active='Y' order by date DESC") or die(mysql_error());
while ($page = mysql_fetch_array($page_query)){
$date = $page['date'];
$text = stripslashes($page['text_news']);
?>
<table>
<tr class="text">
<td align="left"><b>·<?=$date?></b> - <?=$text?></td>
</tr>
</table>
<?}?>
тут тоже lang надо заменить на id раздела. | |
|
|
|