ето ти една елементарна система/сега е драснах../
Създавай си един файл с име: config.php
PHP:
<?php
$hostname = 'localhost';
$username = 'root'; //потребител
$password = 'parola'; //парола на базата
$database = 'database'; //името на базата
$connection = mysql_connect($hostname,$username,$password); //пробваш да се connect-неш към mysql, ако не успееш ще върне грешка
if (!$connection) {
die('MySQL Connect ГРЕШКА: ' . mysql_error()); //тук показваме грешката
}
mysql_select_db($database, $connection)or die(mysql_error()); //ако успешно си се connect-нал правим опит да вземем базата данни, ако не съществува ще върне грешка
$chars = mysql_query("set character set cp1251") or die(mysql_error());
?>
файла за добавяне(add.php);
PHP:
<?php
include("config.php");
if(isSet($_POST['submit'])) {
if(isSet($_POST['title'], $_POST['text'], $_POST['author'])) {
$title = $_POST['title']; //взимаме заглавието
$author = $_POST['author']; //взимаме автора
$text = $_POST['text']; //взимаме текста
} else {
$title = "";
$author = "";
$text = "";
}
if(empty($title) || empty($text) || empty($author)) { //проверяваме дали полетата са попълнени, ако някое поле е празно връщаме грешка
echo "Не си въвел информацията";
} else {
$time = time();
$ip = $_SERVER['REMOTE_ADDR'];
mysql_query("INSERT INTO `news` (author, title, text, time, ip) VALUES ('{$author}', '{$title}', '{$text}', '{$time}', '{$ip}')") or die(mysql_error()); //ако всичко е наред и няма грешки(празни полета) добавяме информацията в базата
}
} else {
echo "
<form method=\"POST\">
Автор: <input type=\"text\" name=\"author\" /> <br />
Заглавие: <input type=\"text\" name=\"title\" /> <br />
<textarea name=\"text\" rows=\"20\" cols=\"15\"></textarea><br />
<input type=\"submit\" value=\"Давай!\" name=\"submit\" />
</form>"; //формата
}
?>
Файл за преглед (view.php);
PHP:
<?php
include("config.php");
if(isSet($_GET['id'])) {
$id = (int)$_GET['id']; //филтрираме GET да бъде само за числови стойности. Тук доста често се среща грешката, че се ползва функция като addslashes() или mysql_real_escape_string(). Тогава могат да "пробият" системата - някое псевдно хакерче
} else {
$id = "";
}
$query = mysql_query("SELECT * FROM `news` WHERE `id`='{$id}';")or die(mysql_error()); //правим заявка дали новината съществува
if((mysql_num_rows($query) > 0) && ($id != NULL)) { //ако новината не съществува или не е избрана ще върне грешка
while ($row = mysql_fetch_object($query)) {
$date = date("d/M/Y G:i", $row->time);
echo "Заглавие: {$row->title} <br />
Текст: {$row->text}<br />
Публикувано на: {$date}";
}
} else {
echo "Новината не съществува.";
}
?>
Файл с всички новини (index.php);
PHP:
<?php
include("config.php");
$query = mysql_query("SELECT * FROM `news` ORDER BY `id`;")or die(mysql_error()); //взимаме новините подредени по ID номера
if(mysql_num_rows($query) > 0) { //използваме if(); ако няма новини да върне грешка
while ($row = mysql_fetch_object($query)) {
$date = date("d/M/Y G:i", $row->time);
echo "<a href=\"view.php?id={$row->id}\">{$row->title} | {$date}</a> <br />\n";
}
} else {
echo "Няма добавени новини.";
}
?>
Това ти е таблицата.
[sql]CREATE TABLE IF NOT EXISTS `news` (
`id` int(15) NOT NULL auto_increment,
`author` varchar(50) NOT NULL,
`ip` varchar(15) NOT NULL,
`title` varchar(50) NOT NULL,
`text` TEXT NOT NULL,
`time` varchar(50) NOT NULL default '0',
PRIMARY KEY (`id`)
);[/sql]
Може лесно да се добавят и категории както и BBCODE.. :?: Точно и за т'ва ти пиша една елементарна система долу-горе да и схванеш смисъла /някъде съм писал и коментари/
Давам ти примера с база от данни, защото по-бързо ще се извежда информацията.. абе въобще всичко е по-бързо.
Все пак е хубаво да прочетеш и как се работи с файлове - налага се по някой път.
