Nieuwsscript met admin en archief
Auteur: remy - 10 februari 2005 - 21:43 - Gekeurd door: twopeak - Hits: 27927 - Aantal punten: 3.25 (16 stemmen)
Nieuwsscript met admin, zodat je zelf nieuwsberichten kunt toevoegen.
Er zit een archief bij, alle berichten worden dat in een lijst weergegeven.
En dat alles in een bestandje ;)
Als je de plaatjes wilt gebruiken die erin staan, mag je ze kopieeren van de voorbeeldsite.
Code:
<?php ob_start(); ?>
<style type="text/css">
.nieuws_tabel {
border: 1px solid #cccccc;
background-color: #ededef;
font-family: arial, verdana;
font-size: 12px;
width: 786px;
}
.nieuws_titel {
border-bottom: 1px solid #cccccc;
background-color: #cccccc;
}
</style>
<?php
$bestand = "nieuws.txt";
$fp = fopen($bestand, "r+");
$nieuwsberichten = stripslashes(fread($fp, filesize ($bestand))); //data eruit halen
fclose($fp);
$nieuwsbericht = explode("+£#~", $nieuwsberichten);
if($_GET['action'] == 'post') { //als er op de admin pagina geklikt is
echo "Admin pagina<br><br>";
if(isset($_POST['posten'])) { //als er iets gepost is
$nieuwsartikel = $_POST['titel']."!*&%".date("d-m-Y H:i")."!*&%".$_POST['bericht']; //wat er ingevoegd moet worden(incl. scheidingstekens)
if(strlen($nieuwsberichten) > 0){ $oude_nieuwsberichten = "+£#~".$nieuwsberichten; } //als er meer dan 1 nieuwsbericht is
$fp = fopen($bestand, "w");
fputs($fp, $nieuwsartikel.$oude_nieuwsberichten); //weer invoegen met artikel en oude nieusberichen
fclose($fp);
header("location:nieuws.php");
}
else {
if(isset($_POST['inloggen'])) { //als er ingelogd is.
if($_POST['wachtwoord'] == 'toegang') { //hier wachtwoord instellen
?>
<form method='post'>
<table>
<tr>
<td><img src='bestand.gif'> Titel</td>
<td><input type='text' name='titel' size='67'></td>
</tr>
<tr>
<td><img src='bestand.gif'> Nieuwsbericht</td>
<td><textarea name='bericht' cols='50' rows='10'></textarea>
</tr>
<tr>
<td><!-- No contents --></td>
<td><input type='submit' name='posten' value='Verzenden'>
</tr>
</table>
</form>
<?php
}
else { //anders, wachtwoord is fout
echo "ww is fout";
}
}
else { //anders, laat het inlogscherm zien
?>
<form method='post'>
<input type='password' name='wachtwoord' value=''> <input type='submit' name='inloggen' value='Log in'>
</form>
<?php
}
}
}
elseif($_GET['action'] == 'archief') { //laat alle berichten in archief zien
if(isset($_GET['cat'])) {
$nieuwsdeel = explode("!*&%", $nieuwsbericht[$_GET['cat']]);
echo "<table class='nieuws_tabel' cellspacing='0' cellpadding='2'><tr><td class='nieuws_titel'><b>".$nieuwsdeel[0]."</b> | Gepost op:<b>".$nieuwsdeel[1]."</b></td></tr><tr><td>".nl2br($nieuwsdeel[2])."</td></tr></table><br>";
}
else {//alles niewsberichten in rijvorm leten zien(aanklikbaar)
echo "<table class='nieuws_tabel' cellspacing='0' cellpadding='2'><td class='nieuws_titel'>Titel</td><td class='nieuws_titel'>Datum</td>";
foreach($nieuwsbericht as $key => $value) { //waarden uitlezen
$nieuwsdeel = explode("!*&%", $value); //split de titel,datum en bericht per nieuwssectie
echo "<tr><td><img src='topic.gif'> <a href='nieuws.php?action=archief&cat=".$key."'>".$nieuwsdeel[0]."</a></td><td>".$nieuwsdeel[1]."</td></tr>";
}
echo "</table>";
}
echo "<br><img src='gebruiker.gif'> <a href='nieuws.php?action=post'>Admin</a> | <a href='nieuws.php'>Hoofdpagina</a>";
}
else { //laat 5 nieuwsberichten zien
if(count($nieuwsbericht) > 5){ $value = 5;}else{ $value = count($nieuwsbericht);}
for($i = 0; $i < $value; $i++) { //waarden uitlezen
$nieuwsdeel = explode("!*&%", $nieuwsbericht[$i]); //split de titel,datum en bericht per nieuwssectie
echo "<table class='nieuws_tabel' cellspacing='0' cellpadding='2'><tr><td class='nieuws_titel'><img src='bestand.gif'> <b>".$nieuwsdeel[0]."</b> | Gepost op: <b>".$nieuwsdeel[1]."</b></td></tr><tr><td>".nl2br($nieuwsdeel[2])."</td></tr></table><br>";
}
echo "<img src='gebruiker.gif'> <a href='nieuws.php?action=post'>Admin</a> | <a href='nieuws.php?action=archief'>Archief</a>"; //admin page link
}
?>
<style type="text/css">
.nieuws_tabel {
border: 1px solid #cccccc;
background-color: #ededef;
font-family: arial, verdana;
font-size: 12px;
width: 786px;
}
.nieuws_titel {
border-bottom: 1px solid #cccccc;
background-color: #cccccc;
}
</style>
<?php
$bestand = "nieuws.txt" ;
$fp = fopen ( $bestand , "r+" ) ; $nieuwsbericht = explode ( "+£#~" , $nieuwsberichten ) ; if ( $_GET [ 'action' ] == 'post' ) { //als er op de admin pagina geklikt is
echo "Admin pagina<br><br>" ; if ( isset ( $_POST [ 'posten' ] ) ) { //als er iets gepost is $nieuwsartikel = $_POST [ 'titel' ] . "!*&%" . date ( "d-m-Y H:i" ) . "!*&%" . $_POST [ 'bericht' ] ; //wat er ingevoegd moet worden(incl. scheidingstekens) if ( strlen ( $nieuwsberichten ) > 0 ) { $oude_nieuwsberichten = "+£#~" . $nieuwsberichten ; } //als er meer dan 1 nieuwsbericht is $fp = fopen ( $bestand , "w" ) ; fputs ( $fp , $nieuwsartikel . $oude_nieuwsberichten ) ; //weer invoegen met artikel en oude nieusberichen header ( "location:nieuws.php" ) ; }
else {
if ( isset ( $_POST [ 'inloggen' ] ) ) { //als er ingelogd is. if ( $_POST [ 'wachtwoord' ] == 'toegang' ) { //hier wachtwoord instellen
?>
<form method='post'>
<table>
<tr>
<td><img src='bestand.gif'> Titel</td>
<td><input type='text' name='titel' size='67'></td>
</tr>
<tr>
<td><img src='bestand.gif'> Nieuwsbericht</td>
<td><textarea name='bericht' cols='50' rows='10'></textarea>
</tr>
<tr>
<td><!-- No contents --></td>
<td><input type='submit' name='posten' value='Verzenden'>
</tr>
</table>
</form>
<?php
}
else { //anders, wachtwoord is fout
}
}
else { //anders, laat het inlogscherm zien
?>
<form method='post'>
<input type='password' name='wachtwoord' value=''> <input type='submit' name='inloggen' value='Log in'>
</form>
<?php
}
}
}
elseif ( $_GET [ 'action' ] == 'archief' ) { //laat alle berichten in archief zien
if ( isset ( $_GET [ 'cat' ] ) ) { $nieuwsdeel = explode ( "!*&%" , $nieuwsbericht [ $_GET [ 'cat' ] ] ) ; echo "<table class='nieuws_tabel' cellspacing='0' cellpadding='2'><tr><td class='nieuws_titel'><b>" . $nieuwsdeel [ 0 ] . "</b> | Gepost op:<b>" . $nieuwsdeel [ 1 ] . "</b></td></tr><tr><td>" . nl2br ( $nieuwsdeel [ 2 ] ) . "</td></tr></table><br>" ; }
else { //alles niewsberichten in rijvorm leten zien(aanklikbaar)
echo "<table class='nieuws_tabel' cellspacing='0' cellpadding='2'><td class='nieuws_titel'>Titel</td><td class='nieuws_titel'>Datum</td>" ; foreach ( $nieuwsbericht as $key => $value ) { //waarden uitlezen
$nieuwsdeel = explode ( "!*&%" , $value ) ; //split de titel,datum en bericht per nieuwssectie echo "<tr><td><img src='topic.gif'> <a href='nieuws.php?action=archief&cat=" . $key . "'>" . $nieuwsdeel [ 0 ] . "</a></td><td>" . $nieuwsdeel [ 1 ] . "</td></tr>" ; }
}
echo "<br><img src='gebruiker.gif'> <a href='nieuws.php?action=post'>Admin</a> | <a href='nieuws.php'>Hoofdpagina</a>" ; }
else { //laat 5 nieuwsberichten zien
if ( count ( $nieuwsbericht ) > 5 ) { $value = 5 ; } else { $value = count ( $nieuwsbericht ) ; } for ( $i = 0 ; $i < $value ; $i ++ ) { //waarden uitlezen
$nieuwsdeel = explode ( "!*&%" , $nieuwsbericht [ $i ] ) ; //split de titel,datum en bericht per nieuwssectie echo "<table class='nieuws_tabel' cellspacing='0' cellpadding='2'><tr><td class='nieuws_titel'><img src='bestand.gif'> <b>" . $nieuwsdeel [ 0 ] . "</b> | Gepost op: <b>" . $nieuwsdeel [ 1 ] . "</b></td></tr><tr><td>" . nl2br ( $nieuwsdeel [ 2 ] ) . "</td></tr></table><br>" ; }
echo "<img src='gebruiker.gif'> <a href='nieuws.php?action=post'>Admin</a> | <a href='nieuws.php?action=archief'>Archief</a>" ; //admin page link }
?>
Download code (.txt)
Stemmen
Niet ingelogd.