Simpel nieuwsysteem met admin
Auteur: remy - 19 november 2004 - 15:09 - Gekeurd door: Dennisvb - Hits: 25034 - Aantal punten: 3.87 (15 stemmen)
Dit is een simpel nieuwssysteem zonder mysql.
Je kunt de opmaak aanpassen met een style sheet (css).
Op de nieuwspagina komen maximaal 5 berichten te staan, en er zit een archief bij, voor als er meer dan 5 berichten zijn.
Hier komen dan alleen de berichten in die niet op de nieuwspagina staan.
ik ben uitgegaan van de index, als je dit zelf niet doet, moet je de link even aanpassen.
|
Code: |
nieuws.php
<?php
$file="nieuws.txt"; // In dit stuk wordt nieuws.txt geopend en de inhoud eruit gehaald.
$fp=fopen($file, "r");
$data=fread($fp, filesize($file));
fclose($fp);
$data = nl2br($data);
$alleberichten = count_chars($data);
$heelbericht=explode("*!&",$data); //split hier de berichten met scheidingsteken (*!&)
$start=0;
$eind=$alleberichten[ord("*!&")]; //tellen maximale berichten
if($eind>=5) // if lus, er mogen maar 5 berichten worden weergegeven op de nieuwspagina
{
$var=5;
}
else
{
$var=$eind;
}
while($start<$var) //while lus, om de nieuwsberichten te laten zien.
{
$deelbericht=explode("^%$",$heelbericht[$start]);
echo "<table class=\"hoofdinhoud\" cellspacing=0 cellpadding=2><tr><td class=\"tdinhoud\"><img src=bestand.gif> <b>".$deelbericht[0]."</b> | gepost op: ".$deelbericht[2]."</td></tr><tr><td class=\"inhoudonder\">".$deelbericht[1]."</td></tr></table><br>";
$start++;
}
echo "<a href=index.php?pagina=nieuwsarchief>>> bekijk niewsarchief</a>";
?>
<?php $file="nieuws.txt"; // In dit stuk wordt nieuws.txt geopend en de inhoud eruit gehaald. $heelbericht=explode("*!&",$data); //split hier de berichten met scheidingsteken (*!&) $start=0; $eind=$alleberichten[ord("*!&")]; //tellen maximale berichten if($eind>=5) // if lus, er mogen maar 5 berichten worden weergegeven op de nieuwspagina { $var=5; } else { $var=$eind; } while($start<$var) //while lus, om de nieuwsberichten te laten zien. { $deelbericht=explode("^%$",$heelbericht[$start]); echo "<table class=\"hoofdinhoud\" cellspacing=0 cellpadding=2><tr><td class=\"tdinhoud\"><img src=bestand.gif> <b>".$deelbericht[0]."</b> | gepost op: ".$deelbericht[2]."</td></tr><tr><td class=\"inhoudonder\">".$deelbericht[1]."</td></tr></table><br>"; $start++; } echo "<a href=index.php?pagina=nieuwsarchief>>> bekijk niewsarchief</a>"; ?>
nieuwsarchief.php
<?php // dit script is beina hetzelfde als de nieuwspagina, het enig wat anders is, is dat hier de overiger berichten staan, dus als er meer dan 5 nieuwsberichten zijn.
echo "<b>dit is het nieuwsarchief<b><br><br>";
$file="nieuws.txt";
$fp=fopen($file, "r");
$data=fread($fp, filesize($file));
fclose($fp);
$data = nl2br($data);
$alleberichten = count_chars($data);
$heelbericht=explode("*!&",$data);
$start=5;
$eind=$alleberichten[ord("*!&")];
if($eind <5) // kijk hier of er al 5 nieuwsberichten zijn, zo niet:
{
echo "Er zijn nog geen oude nieuwsberichten, alle nieuwsberichten staan op de vorige pagina.<br><br>";
}
else
{
while($start<$eind) // berichten laten zien.
{
$deelbericht=explode("^%$",$heelbericht[$start]);
echo "<table class=\"hoofdinhoud\" cellspacing=0 cellpadding=2><tr><td class=\"tdinhoud\"><img src=bestand.gif> <b>".$deelbericht[0]."</b> | gepost op: ".$deelbericht[2]."</td></tr><tr><td class=\"inhoudonder\">".$deelbericht[1]."</td></tr></table><br>";
$start++;
}
}
echo "<a href=index.php?pagina=nieuws> << terug naar nieuwsoverzicht</a>";
?>
<?php // dit script is beina hetzelfde als de nieuwspagina, het enig wat anders is, is dat hier de overiger berichten staan, dus als er meer dan 5 nieuwsberichten zijn. echo "<b>dit is het nieuwsarchief<b><br><br>"; $file="nieuws.txt"; $start=5; $eind=$alleberichten[ord("*!&")]; if($eind <5) // kijk hier of er al 5 nieuwsberichten zijn, zo niet: { echo "Er zijn nog geen oude nieuwsberichten, alle nieuwsberichten staan op de vorige pagina.<br><br>"; } else { while($start<$eind) // berichten laten zien. { $deelbericht=explode("^%$",$heelbericht[$start]); echo "<table class=\"hoofdinhoud\" cellspacing=0 cellpadding=2><tr><td class=\"tdinhoud\"><img src=bestand.gif> <b>".$deelbericht[0]."</b> | gepost op: ".$deelbericht[2]."</td></tr><tr><td class=\"inhoudonder\">".$deelbericht[1]."</td></tr></table><br>"; $start++; } } echo "<a href=index.php?pagina=nieuws> << terug naar nieuwsoverzicht</a>"; ?>
nieuwstoevoegen.php
<?php
ob_start(); // admin pagina
echo "Admin pagina<br><br>";
if(isset($_COOKIE['berichtadmin'])) //cookie setten
{
echo "Voeg een nieuwsbericht toe";
$titel=$_POST['titel'];
$bericht=$_POST['bericht'];
if(isset($_POST['plaatsen']))
{
if(strlen($titel)<2) //controleer of er een titel is ingevuld
{
$error="Het bericht heeft geen titel.<br>";
}
else
{
$invoegen = $titel."^%$";
}
if(strlen($bericht)<6)
{
$error.= "U heeft geen bericht ingevuld.<br>";
}
else
{
$invoegen.= $bericht."^%$";
}
if(isset($error)) //als er een error is, dus als er iets niet is ingevuld, voer dit uit
{
echo "Het bericht kan om de volgende reden niet worden verwerkt:<br><br>";
echo $error;
}
else
{
$invoegen.= date("d-m-Y H:i")."^%$*!&"; //datum invoegen
$file="nieuws.txt";
if(file_exists($file))
{
$fp=fopen($file, "r");
$data=fread($fp, filesize($file));
fclose($fp);
}
$fp=fopen($file, "w");
flock($fp,LOCK_EX);
fputs($fp,$invoegen); //nieuwsbericht invoegen
if(isset($data)) fputs($fp,$data);
flock($fp,LOCK_UN);
fclose($fp);
setcookie("berichtadmin","ja", time()-3600);
echo "<a href=\"index.php?pagina=nieuws\">ga naar de nieuwspagina</a>"; // je kunt hier ook location("header... gebruiken indien je ob_start gebruikt.
}
}
else
{ //laat formulier zien.
?>
<form method="post">
<table>
<tr>
<td>
Titel:
</td>
<td>
<input type="text" name="titel">
</td>
</tr>
<tr>
<td>
Bericht:
</td>
<td>
<textarea name="bericht" cols="25" rows="4"></textarea>
</td>
</tr>
<tr>
<td>
<input type="submit" name="plaatsen" value="Plaats bericht">
</td>
<td>
</td>
</tr>
</table>
</form>
<?php
}
}
else //vul hier het wachtwoord in als er geen cookie is.
{
if(isset($_POST['verzenden']))
{
if($_POST['wachtwoord'] == 'VUL HIER JE WACHTWOORD IN!!!') //hier je wachtwoord invoeren
{
echo "goed";
setcookie("berichtadmin","ja");
echo "<a href=index.php?pagina=nieuwstoevoegen>ga verder</a>";
}
else
{
echo "Je hebt het wachtwoordt niet goed ingevuld, ga <a href=javascript:history:back(1)>terug</a> en probeer opnieuw.";
}
}
else
{ //laat formulier zien waar je je wachtwoord moet invullen.
?>
<form method=post>
<input type="password" name="wachtwoord">
<input type="submit" name="verzenden" value="login">
</form>
<?php
}
}
?>
<?php echo "Admin pagina<br><br>"; if(isset($_COOKIE['berichtadmin'])) //cookie setten { echo "Voeg een nieuwsbericht toe"; $titel=$_POST['titel']; $bericht=$_POST['bericht']; if(isset($_POST['plaatsen'])) { if(strlen($titel)<2) //controleer of er een titel is ingevuld { $error="Het bericht heeft geen titel.<br>"; } else { $invoegen = $titel."^%$"; } { $error.= "U heeft geen bericht ingevuld.<br>"; } else { $invoegen.= $bericht."^%$"; } if(isset($error)) //als er een error is, dus als er iets niet is ingevuld, voer dit uit { echo "Het bericht kan om de volgende reden niet worden verwerkt:<br><br>"; } else { $invoegen.= date("d-m-Y H:i")."^%$*!&"; //datum invoegen $file="nieuws.txt"; { } fputs($fp,$invoegen); //nieuwsbericht invoegen echo "<a href=\"index.php?pagina=nieuws\">ga naar de nieuwspagina</a>"; // je kunt hier ook location("header... gebruiken indien je ob_start gebruikt. } } else { //laat formulier zien. ?> <form method="post"> <table> <tr> <td> Titel: </td> <td> <input type="text" name="titel"> </td> </tr> <tr> <td> Bericht: </td> <td> <textarea name="bericht" cols="25" rows="4"></textarea> </td> </tr> <tr> <td> <input type="submit" name="plaatsen" value="Plaats bericht"> </td> <td> </td> </tr> </table> </form> <?php } } else //vul hier het wachtwoord in als er geen cookie is. { if(isset($_POST['verzenden'])) { if($_POST['wachtwoord'] == 'VUL HIER JE WACHTWOORD IN!!!') //hier je wachtwoord invoeren { echo "<a href=index.php?pagina=nieuwstoevoegen>ga verder</a>"; } else { echo "Je hebt het wachtwoordt niet goed ingevuld, ga <a href=javascript:history:back(1)>terug</a> en probeer opnieuw."; } } else { //laat formulier zien waar je je wachtwoord moet invullen. ?> <form method=post> <input type="password" name="wachtwoord"> <input type="submit" name="verzenden" value="login"> </form> <?php } } ?>
nieuws.txt
Download code (.txt)
|
|
|
Stemmen |
Niet ingelogd. |
|