login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Nieuwssystemen > Nieuwsscript met admin en archief

Nieuwsscript met admin en archief

Auteur: remy - 10 februari 2005 - 21:43 - Gekeurd door: twopeak - Hits: 27476 - 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:
  1. <?php ob_start(); ?>
  2. <style type="text/css">
  3. .nieuws_tabel {
  4. border: 1px solid #cccccc;
  5. background-color: #ededef;
  6. font-family: arial, verdana;
  7. font-size: 12px;
  8. width: 786px;
  9.  
  10. }
  11.  
  12. .nieuws_titel {
  13. border-bottom: 1px solid #cccccc;
  14. background-color: #cccccc;
  15. }
  16.  
  17. </style>
  18.  
  19. <?php
  20. $bestand = "nieuws.txt";
  21. $fp = fopen($bestand, "r+");
  22. $nieuwsberichten = stripslashes(fread($fp, filesize ($bestand))); //data eruit halen
  23. fclose($fp);
  24. $nieuwsbericht = explode("+#~", $nieuwsberichten);
  25. if($_GET['action'] == 'post') { //als er op de admin pagina geklikt is
  26. echo "Admin pagina<br><br>";
  27. if(isset($_POST['posten'])) { //als er iets gepost is
  28. $nieuwsartikel = $_POST['titel']."!*&%".date("d-m-Y H:i")."!*&%".$_POST['bericht']; //wat er ingevoegd moet worden(incl. scheidingstekens)
  29. if(strlen($nieuwsberichten) > 0){ $oude_nieuwsberichten = "+#~".$nieuwsberichten; } //als er meer dan 1 nieuwsbericht is
  30. $fp = fopen($bestand, "w");
  31. fputs($fp, $nieuwsartikel.$oude_nieuwsberichten); //weer invoegen met artikel en oude nieusberichen
  32. fclose($fp);
  33. header("location:nieuws.php");
  34. }
  35. else {
  36. if(isset($_POST['inloggen'])) { //als er ingelogd is.
  37. if($_POST['wachtwoord'] == 'toegang') { //hier wachtwoord instellen
  38. ?>
  39. <form method='post'>
  40. <table>
  41. <tr>
  42. <td><img src='bestand.gif'> Titel</td>
  43. <td><input type='text' name='titel' size='67'></td>
  44. </tr>
  45. <tr>
  46. <td><img src='bestand.gif'> Nieuwsbericht</td>
  47. <td><textarea name='bericht' cols='50' rows='10'></textarea>
  48. </tr>
  49. <tr>
  50. <td><!-- No contents --></td>
  51. <td><input type='submit' name='posten' value='Verzenden'>
  52. </tr>
  53. </table>
  54. </form>
  55. <?php
  56. }
  57. else { //anders, wachtwoord is fout
  58. echo "ww is fout";
  59. }
  60. }
  61. else { //anders, laat het inlogscherm zien
  62. ?>
  63. <form method='post'>
  64. <input type='password' name='wachtwoord' value=''> <input type='submit' name='inloggen' value='Log in'>
  65. </form>
  66. <?php
  67. }
  68.  
  69. }
  70.  
  71. }
  72. elseif($_GET['action'] == 'archief') { //laat alle berichten in archief zien
  73. if(isset($_GET['cat'])) {
  74. $nieuwsdeel = explode("!*&%", $nieuwsbericht[$_GET['cat']]);
  75. 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>";
  76. }
  77. else {//alles niewsberichten in rijvorm leten zien(aanklikbaar)
  78. echo "<table class='nieuws_tabel' cellspacing='0' cellpadding='2'><td class='nieuws_titel'>Titel</td><td class='nieuws_titel'>Datum</td>";
  79. foreach($nieuwsbericht as $key => $value) { //waarden uitlezen
  80. $nieuwsdeel = explode("!*&%", $value); //split de titel,datum en bericht per nieuwssectie
  81. echo "<tr><td><img src='topic.gif'> <a href='nieuws.php?action=archief&cat=".$key."'>".$nieuwsdeel[0]."</a></td><td>".$nieuwsdeel[1]."</td></tr>";
  82. }
  83. echo "</table>";
  84. }
  85. echo "<br><img src='gebruiker.gif'> <a href='nieuws.php?action=post'>Admin</a> | <a href='nieuws.php'>Hoofdpagina</a>";
  86. }
  87. else { //laat 5 nieuwsberichten zien
  88.  
  89. if(count($nieuwsbericht) > 5){ $value = 5;}else{ $value = count($nieuwsbericht);}
  90. for($i = 0; $i < $value; $i++) { //waarden uitlezen
  91. $nieuwsdeel = explode("!*&%", $nieuwsbericht[$i]); //split de titel,datum en bericht per nieuwssectie
  92. 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>";
  93. }
  94. echo "<img src='gebruiker.gif'> <a href='nieuws.php?action=post'>Admin</a> | <a href='nieuws.php?action=archief'>Archief</a>"; //admin page link
  95. }
  96. ?>
Download code! Download code (.txt)

 Bekijk een voorbeeld van dit script!
 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (34)
© 2002-2023 Sitemasters.be - Regels - Laadtijd: 0.03s