Loading:

Promocja Helion.pl

System newsów wraz z panelem.

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ą.

 

 

 



Napisz Artykuł

Listing

//Skrypt numer 1 czyli index.php

<?
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);
?>


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=2&t=5649

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: rokialth Ranga: Poziom 5 Punktów: 100
Komentarze użytkowników
    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors