Система за новини
Автор: human
Ето една моя система за новини
add.php
Добави новина<hr>
<form method="POST">
<input type="hidden" name="id" value="<?
include('conf.php');//добавяме config файла
$our = mysql_query("SELECT id FROM news ORDER BY id DESC LIMIT 1");
while($r=mysql_fetch_array($our)){
$id=$r[id]+1;
echo$id;
}?>">
Автор: <input name="awtor" value="" /><br />
Име на новината: <br /><input type="text" name="ime"><br />
Новина: <br /><textarea rows="7" name="nowina" cols="40" type="text"></textarea><br />
<input name="news" type="submit" value="Добави!">
</form>
<?php
if ($_POST['news']) {
$ime = $_POST['ime'];
$nowina = $_POST['nowina'];
$awtor = $_POST['awtor'];
if((empty($awtor)) && (empty($ime)) && (empty($nowina))) {
//проверява дали всички полета са попълнени
echo "Не си попълнил някое от полетата.";
}else{
$checkime = mysql_query("SELECT ime FROM news WHERE ime='$ime'");
$checkname= mysql_num_rows($checkime);
if ($checkname>0) {
// опа..някой е добавил тази новина вече!
echo "Тази новина вече е била добавяна";
}else{
// никой не е добавят тази новина, продължаваме...
$awtor = htmlspecialchars($awtor);
$ime = htmlspecialchars($ime);
$nowina = htmlspecialchars($nowina);
$id = htmlspecialchars($id);
// превръщаме полетата да не са в html
//всичко е перфректно да добавяме
$query = mysql_query("INSERT INTO `news` (awtor, ime, nowina, id) VALUES('$awtor','$ime','$nowina','$id')");
// успешно добавихме новината
echo "Успешно добави новина!";
}
}
}
else
{
//формата не е използвана
echo ("");
}
?>conf.php
<?php
$user = "root";//дб име
$pass = "";//дб парола
$db = "mysql";//дб
$host = "localhost";//хост
$connection = mysql_connect($host, $user, $pass) or die("Сайтът не може да се свърже към базата данни1");//свързваме се към базата данни
$db = mysql_select_db($db,$connection)or die("Сайтът не може да се свърже към базата данни2");
$broi="1600";//брой символи , които да се покажат на новината на главната страноца
$zbroi="40";//брой символи , които да се покажат на името на новината в файла news.php
?>edit.php
<?PHP
include('conf.php');//добавяме config файла
$getid = $_GET['id'];
if (!$_POST['news'])
{
// формата не е била използвана
$our = mysql_query("SELECT awtor, ime, nowina FROM news where id='$getid' ");
while($r=mysql_fetch_array($our)){
// взимаме инфо за да го покажем в полетата.
?>
<form method="POST">
Автор: <input type="text" name="awtor" value="<?PHP echo"$r[awtor]"; ?>"/><br />
Име на новината: <br /><input type="text" value="<?PHP echo"$r[ime]"; ?>" name="ime"><br />
Новина: <br /><textarea rows="7" name="nowina" cols="40" type="text"><?PHP echo"$r[nowina]"; ?></textarea><br />
<input name="news" type="submit" value="Добави!">
</form>
<?
}
}
else{
$ime = $_POST['ime'];
$awtor = $_POST['awtor'];
$nowina = $_POST['nowina'];
//взимаме информацията от полетата, които юзера е въвел
$awtor = htmlspecialchars($awtor);
$ime = htmlspecialchars($ime);
$nowina = htmlspecialchars($nowina);
echo ("Успешно променена новина!"); //ако пък са равно ъпдейтваме базата данни
$update = mysql_query("Update news set awtor = '$awtor' , ime = '$ime' , nowina = '$nowina' where id = '$getid'");
}
?>index.php
<?PHP
include ('conf.php'); //добавяме config файла
$our = mysql_query("SELECT ime , awtor, nowina, id FROM news ORDER BY id DESC LIMIT 1"); //избираме кои неща да вземем от БД
while($r=mysql_fetch_array($our)){
if (strlen($r['nowina'])>$broi)
{$totchki='...';}
else
{$totchki='';}
$kratko = substr($r['nowina'],0,$broi); //правим новината да не е повече от някакъв брой символи
echo "<div class='tbtitle'>".$r['ime']."</div><div id='block_linkstyle'>$kratko".$totchki."</div>
Автор: <b>$r[awtor]</b> ~ <a href=\"view.php?id=$r[id]\">Цялата</a> ~ <a href=\"del.php?id=$r[id]\">Изтрий</a> ~ <a href=\"edit.php?id=$r[id]\">Промени</a>";
} ?>news.php
<?php
include ('conf.php');//добавяме config файла
$sqlquery = "SELECT * from news order by id desc";
$queryresult = mysql_query($sqlquery)
or die ("Заявката не може да се изпълни");
//показване на данните от базата данни
while ($row = mysql_fetch_array($queryresult))
{
if (strlen($row[ime])>$zbroi)
{$totchki='...';}
else
{$totchki='';}
$kratko = substr($row[ime],0,$zbroi);
echo "
".
$pic."
<font size=\"2\"><a href='view.php?id=$row[id]'>$kratko".$totchki."</a></font>
<font size=\"2\"> - Автор:$row[awtor]</b></font> <br />
";
}
?>view.php
<?php
include('conf.php');//добавяме config файла
$getid = $_GET['id'];
$sql = "SELECT * FROM news WHERE id = '$getid'"; //взимаме информация от БД...
$result = @mysql_query($sql,$connection) or die(mysql_error());
while ($sql = mysql_fetch_object($result))
{
$ime = $sql -> ime;
$nowina = $sql -> nowina;
$awtor= $sql -> awtor;
}?>
<?php
if(!$getid){die('Трябва да изберете коя новина да видите!!!');} //ако човека се е заплеснал и не е избрал новина, която да види...
?>
<b> <font size="2"><?php echo "$ime </b>";?></font></b><hr><br />
<font size="2"><?php echo $nowina;?></font><br /><hr />
<font size="2"><?php echo" Автор: <b> ".$awtor."</b>"?></font>del.php
<?php
include('conf.php');//добавяме config файла
$getid = $_GET['id'];
$result = mysql_query("DELETE FROM news WHERE id='$getid' ",$connection);
echo "<b>Новината е изтрита!<br>Ти ще бъдеш прехвърлен към началната страница";
//header("location: index.php");
echo "<meta http-equiv=Refresh content=0;url=index.php>";
?>db.sql
CREATE TABLE `news` (
`nowina` text NOT NULL,
`ime` varchar(255) NULL,
`awtor` varchar(255) NULL,
`id` int(11) NOT NULL auto_increment,
PRIMARY KEY (`id`)
);Урока е авторски и преписването е забранено!!!


