Einfaches News-Script

Das hier ist ein kleines Tutorial, um zu zeigen wie so ein News-Script aussehen kann. Im Grunde ist es nichts anderes als ein Gästebuch, in welches jedoch nur der Webmaster (oder sonstige authorisierte Personen) etwas eintragen kann. Natürlich kann man

Wir müssen jetzt drei Seite erstellen.
- eine Ausgabeseite (im Beispiel start.php)
- eine Formularseite (im Beispiel newsform.html)
- eine Seite zum Auswerten der Formulareingaben (im Beispiel newsneu.php)

Kommen wir nun zur newsform.html:
Ein gewöhnliches Formular mit Betreff, dem Verfasser und Eintrag.

 1 
 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 3 <html>
 4 <head>
 5 <title>News schreiben</title>
 6 <link rel="stylesheet" href="css/main.css">
 7 </head>
 8 <body>
 9 <form action="newsneu.php" method="post">
10          <table id="news_tab">
11            <tr>
12              <td>Betreff</td>
13              <td>Eintrag</td>
14            </tr>
15            <tr>
16              <td id="input"><input type="text" name="betreff" id="inputarea" maxlength="30"></td>
17              <td id="textarea" rowspan="3"><textarea name="text" id="area" cols="40" rows="10" ></textarea></td>
18            </tr>
19            <tr>
20              <td>Absender</td>
21            </tr>
22           <tr>
23              <td id="verfasser"><p id="verfasserradio"><input type="radio" name="verfasser" value="Webmaster" checked>Webmaster<br>
24                                 <input type="radio" name="verfasser" value="Max Mustermann">Max Mustermann<br>
25                                 <input type="radio" name="verfasser" value="Gerold Gelb">Gerold Gelb<br>
26                                 <input type="radio" name="verfasser" value="Rosa Rot">Rosa Rot</p>
27              </td>
28            </tr>
29            <tr>
30              <td id="button1"><input type="submit" name="submit" value="News eintragen"></td>
31              <td id="button2"><input type="reset" name="reset" value="Abbrechen"></td>
32            </tr>
33          </table>
34 </form><br>
35 <div id="info">Info: Lassen Sie den Betreff und das Textfeld frei, um den Inhalt der Textdatei zu löschen</div>
36 </body>
37 </html>
38 



Nun, die HTML-Seite war bestimmt nicht so schwer :) Kommen wir zu unserer newsneu.php, wo wir unsere Daten auswerten.
Jetzt wird es etwas schwerer:

 1 
 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 3 <html>
 4 <head>
 5 <title>Auswerten</title>
 6 <link rel="stylesheet" href="css/main.css">
 7 </head>
 8 <body>
 9 <?php
10 error_reporting
(E_ALL);
11 
# Wenn der Submit-Button nicht gedrückt wurde, wird man automatisch
12 # auf die start.php weitergeleitet.
13 
if(!isset($_POST['submit']))
14 {
15   
header('location: start.php');
16   exit;
17 }
18          else
19          {
20            
# Festlegung der Variablen aus dem POST-Formular
21            
$betreff $_POST['betreff'];
22            
$betreff htmlentities($betreff);
23            
$betreff strtoupper($betreff);
24            
$text $_POST['text'];
25            
$text htmlentities($text);
26            
$text str_replace("n""<br>"$text);
27            
$verfasser $_POST['verfasser'];
28            
$datum date("d.m.Y");
29            
$zeit date("H:i");
30            
# Die Variable $eintrag besteht aus den nachfolgenden Variablen
31            
$eintrag "$betreff|$text|$verfasser|$datum|$zeit";
32            if(
$text == "")
33            {
34              
$datei fopen("news.txt""w+");
35              
fwrite($datei$eintrag);
36              
fclose($datei);
37              echo 
"<p id="phplink">Der Inhalt wurde gelöscht.<br><a href="start.php" id="phpref">Zurück zur Webseite!</a></p>";
38            }
39            else
40            {
41            
# Die Datei, die als Datenbank dient, wird geöffnet
42            # $eintrag wird geschrieben
43              
$datei fopen("news.txt""w+");
44              
fwrite($datei$eintrag);
45              
fclose($datei);
46              echo 
"<p id="phplink">Der Eintrag wurde gespeichert.<br><a href="start.php" id="phpref">Zurück zur Webseite!</a></p>";
47            }
48          }
49 
?>
50 
</body>
51 </html>
52 


Zuerst deklarieren wir unsere Variablen, die wir zur weiteren Verarbeitung benötigen.
Mit htmlentities() werden alle Sonderzeichen und HTML-Tags in den dafür vorgesehenen HTML-Code umgewandelt.
Mit strtoupper() erzwingen wir, dass der Betreff komplett groß geschrieben wird.
Mit str_replace() erzeugen wird einen Zeilenumbruch aus n, der bei der späteren Ausgabe in HTML als Zeilenumbruch ausgegeben wird. Alles Weitere steht in den PHP-Kommentaren.

Unsere Daten wurde übernommen, in die Variable $eintrag gespeichert und in die Textdatei $datei geschrieben. Getrennt sind die einzelnen Werte durch den "|" und spielt eine kleine Rolle später bei der Ausgabe.

Wir sind schon fast fertig. Alles was wir machen müssen, nur noch die Datei auslesen und auf den Bildschirm bringen.
Den folgenden Code schreiben wir in unsere start.php

 1 
 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 3 <html>
 4 <head>
 5 <title>Startseite</title>
 6 <link rel="stylesheet" href="css/main.css">
 7 </head>
 8 <body>
 9          <div id="news">
10                  <?php
11                  error_reporting
(E_ALL);
12                  
# Auslesen der Textdatei
13                  
$eintrag file("news.txt");
14                  
# $eintrag wird als $anzeige definiert
15                  # $anzeige wird als $teile definiert
16                  # $teile werden in einen Array geteilt
17                  
foreach($eintrag as $anzeige)
18                  {
19                     
$anzeige stripslashes($anzeige);
20                     
$teile explode("|"$anzeige);
21                  }
22                      if(
$teile[1] == "")
23                      {
24                        echo 
"<p id="phpp">Keine Neuigkeiten vorhanden!</p>";
25                      }
26                      else
27                      {
28                      echo 
"<table id="phptab">
29                             <tr>
30                                   <td id="phptd">$teile[0] <br> von $teile[2], am $teile[3], $teile[4] Uhr</td>
31                             </tr>
32                            <tr>
33                                  <td id="phptdt">$teile[1]</td>
34                            </tr>
35                           </table>"
;
36                      }
37                  
?>
38 
         </div>
39          <div id="link"><a href="newsform.html"><button type="button" value="News eintragen" name="news">News eintragen</button></a></div>
40 </body>
41 </html>
42 


Wir lesen unsere Datei in die Variable $eintrag ein. Die Variable $eintrag wird nun in einen Array umgewandelt und heißt $anzeige. Mit explode() geben wir an, mit welchem Trennzeichen wir die in der Textdatei eingetragenen Daten teilen. Nun ist $teile ein Array:
$teile[0] = Betreff
$teile[1] = Eintrag
$teile[2] = Verfasser
$teile[3] = Datum
$teile[4] = Uhrzeit

Somit haben wir unsere Textdatei ausgelesen, die einzelnen Werte in einen Array geschrieben.

Und so einfach kann ein News-Bereich erstellt werden.
Ich hoffe, dieses Script konnte euch eine Hilfestellung bieten. Jetzt könnt ihr den Code wie euch lieb ist verändern und anpassen.

Die CSS-Datei darf natürlich nicht fehlen.
@charset "ISO-8859-1";

body     {
         font-family: Calibri;
         background-color: #000000;
         color: white;  }
#news    {
         margin: 0;
         padding: 0;
         width: 450px;
         min-height: 200px;
         border-top: 1px solid #FFFFFF;
         border-bottom: 1px solid #FFFFFF;
         border-left: 0;
         border-right: 0;
         text-align: center; }
#phpp   {
           color: #FFFFFF;
           font-weight: bold;
           text-align: center; }
#phptab  { width: 100%;
           text-align: center; }
#phptd   {
           background-color: #FFFFFF;
           font-weight: bold;
           color: #000000; }
#news_tab {
          margin: 0;
          padding: 0;
          width: 39%;
          height: auto;
          border-top: 1px solid #FFFFFF;
          border-bottom: 1px solid #FFFFFF;
          border-left: 0;
          border-right: 0;
          text-align: center; }
#info    {
         width: 39%;
         border: 1px solid #FF0000;
         color: #FF0000;
         text-decoration: none;
         text-align: center; }
#input,#textarea,#verfasser {
                 vertical-align: top; }
#inputarea,#area {
                 border: 1px solid #FFFFFF; }
#area    {
         resize: none; }
#verfasserradio  { text-align: left;
                   margin-left: 100px; }
td        {
          width: 400px; }
#phplink    {
           color: #FFFFFF;
           font-weight: bold;
           text-align: center; }
#phpref  {
         text-decoration: none;
         color: #FFFFFF; }
#phplink a:hover {
                text-decoration: underline;
                color: #C6C6C6; }

Erfahrungen


Wolfgang Müller
Da sind noch ein paar bugs drin
Geschrieben von Wolfgang Müller Am 01.11.2023 19:40:59

Hi,

soweit ist dieses Tutorial klasse genau was ich gesucht habe

ein fehler hat dies aber!

bei echo ausgeben ist der fehler

echo "<p id="phpp">Keine Neuigkeiten vorhanden!</p>";

sollte so sein

echo "<p id="phpp">Keine Neuigkeiten vorhanden!</p>";

Dieses zieht sich durchs ganze Tutorial

mfg
Geschrieben von djcrx Am 02.06.2015 19:51:43

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe

Verwandte Beiträge

Wie schreibt man ein Forum mit PHP und Mysql

Wie schreibt man ein Forum mit PHP und Mysql

Wie erstellt man ein kleines Forum mit PHP und MYSQL? Dieses Tutorials zeigt wie es geht ...

Moqui

Autor : Moqui
Kategorie: PHP-Tutorials

Gewichtete SQL-Abfragen

Gewichtete Abfragen werde häufig im Banner-Umfeld benötigt. Also überall da, wo Banner nach bestimmten Kriterien einblendet werden sollen. Wenn man davon ausgeht, das Banner unterschiedlichen Klick-Erfolg haben, dann liegt der Gedanke nahe, genau diese Ba ...

admin

Autor : admin
Kategorie: mySQL-Tutorials

Was muss ich in WordPress einstellen, damit Google Fonts nicht mehr geladen werden?

Möchten Du WordPress davon abhalten, Google Fonts zu verwenden? Hier erfährst Du, was du dafür in WordPress einstellen musst. ...

admin

Autor : admin
Kategorie: Sonstige Tutorials

Datenbankinhalt für Suchmaschinen aufbereiten

Sie haben eine Datenbankanwendung geschrieben und keiner weiß, welche Daten bei Ihnen zu finden sind. Suchmaschinen gehen natürlich nicht so weit, daß sie Abfragen an die Datenbank senden. Somit bleibt der Inhalt Ihrer Tabelle für Suchmaschinen unsichtbar ...

Wolfgang13

Autor : Wolfgang13
Kategorie: SEO Tutorials

Fortschrittsbalkens mit PHP

ProgressClass stellt eine PHP-Klasse für die dynamische Anzeige und Veränderung eines Fortschrittsbalkens zur Verfügung. ...

what@

Autor : what@
Kategorie: PHP-Tutorials

MySQL für Anfänger einfach erklärt

Dieses Tutorial richtet sich an Anfänger, die noch nie mit SQL gearbeitet haben. Vielleicht ist aber auch für Fortgeschrittene das Eine oder Andere dabei. ...

admin

Autor : admin
Kategorie: mySQL-Tutorials

Was muss ich in WordPress einstellen, damit Google Fonts nicht mehr geladen werden?

Möchten Du WordPress davon abhalten, Google Fonts zu verwenden? Hier erfährst Du, was du dafür in WordPress einstellen musst. ...

admin

Autor : admin
Kategorie: Sonstige Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen