Newssystem ohne Datenbank

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Newssystem ohne Datenbank

    Hallo leute,
    Ich habe ein Newssystem geschrieben das ohne Datenbank funktioniert.
    Es ließt die News aus einer externen txt datei aus.
    Man kann auch einen neuen Eintrag machen im Admin bereich.
    Nur jetzt kommt mein Problem!
    Die alten News werden von den neuen News in der Testdatei Überschrieben.
    Ich will aber das die Alten News da bleiben und die neuen nur hinzu kommen!

    Ausserdem weiss ich nicht wie ich eine löschen und bearbeiten funktion mit einbauen kann.
    Wer kann mir helfen??
    Das die datei in der die Einträge angezeigt werden soll (index.php):
    PHP Code:
            $ergebnis is_readable ("artikel.txt");
            
            if (
    $ergebnis
            {
                
    $artikel_array file ("artikel.txt");
            
    //Ausgeben der einzelnen Elemente
            //Ab hier beginnt die Tabelle
                
    echo "<table align=\"center\" cellspacing=\"0\" width=\"300\"><tr>";
                echo 
    "<td class=\"headline\" align=\"center\">".$artikel_array[0]."
                      <p>\n"
    ;
                echo 
    "</td></tr>";
                echo 
    "<tr><td class=\"subheadline\" align=\"center\">".$artikel_array[1]."
                        <p>\n"
    ;
                echo 
    "</td></tr>";
                echo 
    "<tr><td><hr size=\"2\">
                        <p>\n"
    ;
                echo 
    "</td></tr>";
                echo 
    "<tr><td class=\"txt\">".$artikel_array[2]."
                        <p>\n"
    ;
                echo 
    "</td></tr>";
                echo 
    "<tr><td><hr size=\"2\">
                        <p>\n"
    ;
                echo 
    "</td></tr>";
                echo 
    "<tr><td class=\"txt\">".$artikel_array[3]."
                        <p>\n"
    ;
                echo 
    "</td></tr>";
            
    //Tabellen ende
                
    echo "</table>";
                  
            }    else
                {
                echo 
    "Sehr geehrter Besucher,<br>\n";
                echo 
    "Zur Zeit ist kein Newsartikel vorhanden!\n";            }
    ?> 
    Dann halt noch das formular in dem der eintrag geschrieben wird!

    Würd mich über Hilfe freuen.
    Nochmal zur zusammenfassung

    1.Artikel werden neu eingetragen und in die txt datei hinzugefügt und nicht ersetzt
    2.bearbeiten funktion
    3.löschen funktion
    4.es sollen dann auch alle einträge in der index.php angezeigt werden und nicht nur einer
    Last edited by fee; 09-11-2005, 13:08.

  • #2
    hier noch mal die admin datei

    PHP Code:
    <?php
            
    if (!isset ($artikel_array[0]))
            {
            
                if (
    file_exists ("../artikel.txt"))
                {
                    
    $artikel_array file ("../artikel.txt""w");
                }
                
            } else
                {
                @
    $filehandle fopen ("../artikel.txt""w"); 
                if (!
    $filehandle)
                    {
                
    //Mail an den admin mit der Fehlermeldung falls ein Fehler auftritt
                        
    echo "<font color=\"#ff0000\">
                              <b>ACHTUNG Fehler!</b><br>\n"
    ;
                        echo 
    "Datei ließ sich nicht zum Schreiben öffnen!<br></font>\n";
                        
                        
    mail ("",
                                    
    "Fehler im Redaktionsfrontend",
                                    
    "Die Datei konnte nicht geschrieben werden!"
                             
    );
                        }    else
                
                            {
                
                
                        
    $translation get_html_translation_table(HTML_ENTITIES);
                        
    $anzahl count($artikel_array);
                for (
    $i 0$i $anzahl$i++)
                                {
                        
    $artikel_array[$i] = strtr($artikel_array[$i], $translation);
                        
    $artikel_array[$i] = str_replace("\r","",$artikel_array[$i]);
                        
    $artikel_array[$i] = str_replace("\n","<br>",$artikel_array[$i]);
                                }
                            
                
                            
    $artikel_string implode("\n"$artikel_array);
                            
    $erfolg fwrite ($filehandle$artikel_string);
                            
    $erfolg fclose($filehandle);
                            
                        echo 
    "<h4>Der Artikel wurde aktualisiert</h4><p>\n";
                        echo 
    "<a href=\"../index.php\">Zum News-Eintrag</a><p>\n";
                                
                }
                
                    
            }        
                         
            
    $translation get_html_translation_table(HTML_ENTITIES);
            
    $translation array_flip ($translation);
            
    $anzahl count($artikel_array);
                            
                            for (
    $i 0$i $anzahl$i++)
                            {
                                    
    $artikel_array[$i] = strtr ($artikel_array[$i], $translation);
                                    
    $artikel_array[$i] = str_replace("<br>","\n",$artikel_array[$i]);
                            }
    ?>

    Comment


    • #3
      Da musst du append Mode benutzen und nicht "w"
      Außerdem, solltest du dann erst die bestehende Datensätze einlesen -> die Datei leer machen neuen Datensatz schreiben und die alten Sachen ranhängen. Also ein wenig umständlich das ganze. Da ist es echt leichter MySQl zu erlernen :/ ( Danke an Hand, falls er noch lebt )

      Comment


      • #4
        Ja ich weiss das es mit mySQL leichter ist. Das ja auch
        kein ding nur für den jenigen für den ich das mache
        der will mit einer txt arbeiten da er nur einen server
        hat auf dem kein MySql ist und den server wechseln
        will der jenige nicht.

        kannst du dich ein wenig detailierter ausdrücken??

        Comment


        • #5
          Ja zum Bearbeiten würde reichen, das File einfach in ein Textfeld einzulesen.

          Beim schreiben willst du aber bestimmt, die neuen Datensätze oben m File haben oder?
          Dann muss du, bevor die die News speicherst:

          -> text einlesen
          -> die Datei mit einem neuen Text beschreiben und den alten Ranhängen.

          Comment


          • #6
            das natürlich eine gute lösung. Ich denke
            das würde auch so funktionieren. allerdings
            habe ich nicht nur ein textfeld bei der neu eingabe
            sonder eins für die Überschrift, eins für
            subüberschrift, ein textfeld mit dem inhalt (da würde diese methode wunderbar klappen)
            und ein autoren feld!

            Comment

            Working...
            X