W tym artykule, pokaże wam, jak napisać bardzo prosty, łatwy do zrozumienia system newsów wraz z panelem admina. Będziemy potrzebować bazy MYSQL oraz obsługi PHP na stronie.
Na początek tworzymy taką oto tabele w bazie danych:
CREATE TABLE `news` (
`id` INT NOT NULL AUTO_INCREMENT ,
`tytul` TINYTEXT NOT NULL ,
`tresc` TEXT NOT NULL ,
`data` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `id` )
);
Tworzymy 2 pliki *.php, jeden index.php(1), który będzie używany jako główna strona panelu newsów, a drugi news.php(2), odpowiedzialny za wyświetlanie newsów :D
Aby wyświetlić newsy na stronie, należy skonfigurować te pliki, i przy użyciu funkcji include(), dodać skrypt news.php, na swoją stronę główną.
Listing
<?
session_start();
if(isset($_POST['pass'])) //Haslo przechowujemy w sesjach
{
if($_POST['pass']=='haselko') //Wpisz haslo w miejsce "haselko"
{
$_SESSION['admin']='ok';
}
}
if((!isset($_SESSION['admin']) || $_SESSION['admin']!='ok') && $_GET['admin']!='wyloguj')
{
echo '<form method="POST" action="index.php?main=admin">
<p align="center">
Niestety nie jestes zalogowany.<br> Proszę podac haslo:<br>
<input type="password" name="pass" size="20"><br>
<input type="submit" value="OK"></p>
</form>';
}
if(isset($_GET['admin']) && $_GET['admin']=='wyloguj')
{
$_SESSION['admin']='';
echo 'Nastapilo wylogowanie!<br> Przejdz do <a href="/index.php">strony glownej</a>...';
}
if($_SESSION['admin']=='ok')
{
$uchwyt=mysql_connect('adres bazyl','nazwa bazy','haslo bazy')
or die('Nieudane polaczenie z baza danych...');
mysql_select_db('baza')
or die('Nie udalo sie wybrac bazy danych...');
echo '<b>Newsy:</b><br>';
$link=mysql_query('SELECT * FROM news ORDER BY id desc');
while($wiersz=mysql_fetch_array($link))
{
echo '<b>'.$wiersz['tytul'].'</b>';
echo ' - ';
echo $wiersz['data'];
echo ' - ';
echo '<a href="index.php?newsy=edytuj&id='.$wiersz['id'].'">Edytuj</a>';
echo ' - ';
echo '<a href="index.php?newsy=usun&id='.$wiersz['id'].'">Usun</a>';
echo "<br>\n";
}
echo '<b>Dodaj newsa:</b><br>';
echo '<form method="POST" action="index.php?newsy=dopisz">
Tytul:<br>
<input type="text" name="tytul" size="64"><br>
Tresc:<br>
<textarea rows="5" name="tresc" cols="42"></textarea><br>
<input type="submit" value="DODAJ">
</form>';
if(isset($_GET['newsy']) && $_GET['newsy']=='edytuj' && isset($_GET['id']))
{
$id=$_GET['id'];
$link=mysql_query("SELECT * FROM news WHERE id='$id'");
$wiersz=mysql_fetch_array($link);
echo '<b>Edytuj newsa:</b><br>';
echo '<form method="POST" action="index.php?newsy=wyedytuj&id='.$wiersz['id'].'">
Tytul:<br>
<input type="text" name="tytul" size="64" value="'.$wiersz['tytul'].'"><br>
Tresc:<br>
<textarea rows="5" name="tresc" cols="42">'.$wiersz['tresc'].'</textarea><br>
<input type="submit" value="EDYTUJ">
</form>';
}
elseif(isset($_GET['newsy']) && $_GET['newsy']=='dopisz')
{
$tytul=$_POST['tytul'];
$tresc=$_POST['tresc'];
$data=date('d.m.Y, H:i');
mysql_query("INSERT INTO news VALUES(0,'$tytul','$tresc','$data')");
echo 'Pomyslnie dodalem newsa o tytule: <b>'.$tytul.'</b> i o treści: <b>'.$tresc.'</b> z datą'.$data.'.';
}
elseif(isset($_GET['newsy']) && $_GET['newsy']=='wyedytuj' && isset($_GET['id']))
{
$tytul=$_POST['tytul'];
$tresc=$_POST['tresc'];
$id=$_GET['id'];
mysql_query("UPDATE news SET tytul='$tytul' tersc='$tresc' WHERE id='$id'");
echo 'Pomyslnie wyedytowalem newsa! <br> Jego nowy tytul to: <b>'.$tytul.'</b>, a tresc: <b>'.$tresc.'</b>';
}
elseif(isset($_GET['newsy']) && $_GET['newsy']=='usun' && isset($_GET['id']))
{
$id=$_GET['id'];
mysql_query("DELETE FROM news WHERE id='$id'");
echo 'Pomyslnie usunalem newsa numer '.$id.'!';
}
?>
<a href="/pages/admin/index.php?admin=wyloguj"><a><< WYLOGUJ >></a>
<?
}
?>
//Skrypt numer 2 czyli news.php
<?
session_start();
$uchwyt=mysql_connect('adres bazyl','nazwa bazy','haslo bazy')
or die('Nieudane polaczenie z baza danych...');
mysql_select_db('baza')
or die('Nie udalo sie wybrac bazy danych...');
$link=mysql_query("SELECT * FROM news ORDER BY id desc LIMIT 4");
while($wiersz=mysql_fetch_array($link))
{
echo '<b>';
echo $wiersz['tytul'];
echo '</b> (';
echo $wiersz['data'];
echo ')';
echo "<br>\n";
echo $wiersz['tresc'];
echo "<br>\n";
echo "<br>\n";
if($_SESSION['admin']=='ok')
{
echo '<a href="/pages/admin/index.php?newsy=edytuj&id='.$wiersz['id'].'">Edytuj</a>';
echo ' - ';
echo '<a href="/pages/admin/index.php?newsy=usun&id='.$wiersz['id'].'">Usun</a>';
echo "<br>\n";
}
}
mysql_close($uchwyt);
?>