Newspost umsortieren

Dieses Thema im Forum "Webmaster Hilfe / Programmierer Forum" wurde erstellt von FoX, 13.10.2008.

  1. FoX

    FoX Erfahrener Benutzer

    Dabei seit:
    15.03.2008
    Beiträge:
    383
    Zustimmungen:
    0
    Ort:
    Köln
    Guten Tag,

    Ich baue mir eine eigene Seite
    hab ein Formular (+PW) mit HTML und PHP aufgestellt und News posten zu können

    wenn ich jezt eine news poste dann wird die alte überschrieben.
    ich wills aber so machen dass dann die neue ÜBER der alten auf der seite steht.

    das formular hat eine seperate seite
    das action-script hat eine seperate seite
    und die page lädt die in der daten.dat eingeschribenen posts

    Hier die Codes


    DAS FORMULAR
    Code:
    <html> 
    <head> 
    <title>News</title> 
    </head> 
    
    <body bgcolor="#FFFFFF"> 
    
    <form method="post" action="gb.php">
      Headline: <input type="text" name="titel">
    
      Newstext: <textarea name="eintrag"></textarea>
    
      Passwort: <input type="password" name="passwort">
    
      <input type="submit" name="Button" value="Absenden">
    </form>
     
    </body> 
    </html>
    

    GB.PHP (action)
    PHP:
    <?php
    $timestamp 
    time();
    $datum date("d.m.Y",$timestamp); // Datum
    $uhrzeit date("H:i",$timestamp); // Uhrzeit
    $signatur "$uhrzeit$datum"// Signatur definiert

    $titel $_POST["titel"]; //titel abgeben
    $eintrag $_POST["eintrag"]; //eintrag abgeben
    $passwort $_POST["passwort"]; //passwort abgeben
    $pass '*******'//PASSWORT ;D verat ich natürlich nicht

    if($passwort == "$pass")
        {
        
    $daten="<div class=\"newsbox\">
                  <div class=\"headline\">
    $titel</div>
                  <div class=\"newstext\">
    $eintrag</div>
                  <div class=\"signatur\">
    $signatur</div>
                </div>
                

    "
    ;
        
    // Post Ausgabe (daten)
        
    $datenbank "daten.dat";
        
    $datei fopen($datenbank,"r+"); // datei open
        
    fwrite($datei$daten); // Eintrag einschreiben
        
    fclose($datei); //Datei schließen
        
    echo "
     Eintrag erfolgreich. 
    <a href=\"home.php\">Home</a>"
    ;
        }
    else
        {
        echo 
    'Falsche Zugangsdaten.';
        } 
    ?>
    content-home.php (lädt die daten.dat mit den einträgen)
    PHP:
    <?php
    $datenbank 
    "daten.dat"
    $datei fopen($datenbank,"r");
    fpassthru($datei);
    ?>
     
  2. AdMan

    schau mal hier: Windows-Wartungs-Tool. Viele Probleme lassen sich damit einfach beheben. Oftmals ist der PC dann auch schneller!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  3. #2 Blaxxun, 13.10.2008
    Blaxxun

    Blaxxun aka Noisy

    Dabei seit:
    06.11.2005
    Beiträge:
    6.171
    Zustimmungen:
    0
    $datei = fopen($datenbank,"r+"); // datei open

    änder mal in

    $datei = fopen($datenbank,"a+"); // datei open

    mit r+ überschreibst du und mit a+ wird hinten dran gehängt.
     
  4. FoX

    FoX Erfahrener Benutzer

    Dabei seit:
    15.03.2008
    Beiträge:
    383
    Zustimmungen:
    0
    Ort:
    Köln
    gut

    ABER
    dann is mein neuer post wieder hinten dran
    wie ekomm ich die jezt umgekehrt aufgeführt?
     
  5. #4 xandros, 13.10.2008
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    25.890
    Zustimmungen:
    91
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    Datei komplett auslesen und zwischenspeichern, danach den neuen Eintrag schreiben und den zwischengespeicherten Inhalt anhängen. Bei sequenziellen Dateien (wie du das hier machst) wird IMMER hinten angehängt.
     
  6. FoX

    FoX Erfahrener Benutzer

    Dabei seit:
    15.03.2008
    Beiträge:
    383
    Zustimmungen:
    0
    Ort:
    Köln
    hab ne lösung ergooglen können aus nem Gästebuch tutorial


    PHP:
    <?php
    $timestamp 
    time();
    $datum date("d.m.Y",$timestamp); // Datum
    $uhrzeit date("H:i",$timestamp); // Uhrzeit
    $signatur "$uhrzeit$datum"// Signatur definiert

    $titel $_POST["titel"]; //titel abgeben
    $eintrag $_POST["eintrag"]; //eintrag abgeben
    $passwort $_POST["passwort"]; //passwort abgeben
    $pass '******'//PASSWORT

    if($passwort == "$pass")
        {
        
    $datenbank "daten.dat";
        
    $daten="<div class=\"newsbox\">
                  <div class=\"headline\">
    $titel</div>
                  <div class=\"newstext\">
    $eintrag</div>
                  <div class=\"signatur\">
    $signatur</div>
                </div>
                
    "
    ;
        
    // Post Ausgabe (daten)
        
    $alteEintraege=file("daten.dat");//  ab hier is der neueu Teil
        
    $AnzahlDerEintraege=count($alteEintraege);
        
    $eintraege="$daten$alteEintraege[0]";
        for (
    $z=1$z<$AnzahlDerEintraege$z++) 
          { 
          
    $eintraege="$eintraege$alteEintraege[$z]"
          }  
        
    $datei fopen($datenbank,"w"); // datei open // bis hier (w stimmt so ;D)
        
    fwrite($datei$eintraege); // Eintrag einschreiben
        
    fclose($datei); //Datei schließen
        
    echo "
     Eintrag erfolgreich. 
    <a href=\"home.php\">Home</a>"
    ;
        }
    else
        {
        echo 
    'Falsche Zugangsdaten.';
        } 
    ?>
    Aber kann mir jezt einer das mit $z und so erklären??
    Funktionieren tuts einwandfrei
    angepasst bekommen hab ichs auch noch aber so wirklich verstehen tu ichs nicht
     
  7. #6 xandros, 13.10.2008
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    25.890
    Zustimmungen:
    91
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    $z ist in der For-Schleife nur eine Zählervariable, die als Abbruchbedingung für die Schleife genutzt wird.
    $z wird solange um 1 erhöht, bis die Anzahl der Einträge aus der Datei erreicht wurde. So oft wird aus dem Array $daten$alteEintraege[] ein Eintrag an der entsprechenden Indexposition ausgelesen und in die Datei zurückgeschrieben.


    Durch den Code wird genau das gemacht, was ich oben schon geschrieben habe.
    Zuerst wird der Dateiinhalt ausgelesen (hier in ein Array), dann wird der neue Eintrag geschrieben, danach der Arrayinhalt (also der ehemalige Inhalt der Datei) ...
     
  8. FoX

    FoX Erfahrener Benutzer

    Dabei seit:
    15.03.2008
    Beiträge:
    383
    Zustimmungen:
    0
    Ort:
    Köln
    ginge das auch "einfacher" ohne "zählen"?

    oder auf andere Weise?
     
  9. #8 xandros, 13.10.2008
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    25.890
    Zustimmungen:
    91
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    wie willst du dann feststellen, wieviele Einträge bereits in der Datei enthalten sind bzw. wie viele Variablen willst du unnötigerweise definieren, damit alle Einträge gelesen werden können?

    Der Einsatz von einem Array ist da schon die effektivste Methode. Und um ein Array durchlaufen zu können, benötigt man eben einen Wert, der auf den Index verweist. Genau das wird in der Schleife durch die Zählervariable $z erreicht.
    Einfacher geht es nicht.
     
  10. AdMan

    Es ist generell erstmal empfehlenswert alle ggf. veralteten oder fehlerhaften Treiber zu scannen und auf neue zu aktualisieren. Hier kannst du einen Treiber-Scanner downloaden. Das erspart oftmals viel Ärger und hilft gegen diverse Probleme.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  11. FoX

    FoX Erfahrener Benutzer

    Dabei seit:
    15.03.2008
    Beiträge:
    383
    Zustimmungen:
    0
    Ort:
    Köln
    AAAALLES KLAR
    danke

    ;D
    mfg
     
  12. Weiny

    Weiny Erfahrener Benutzer

    Dabei seit:
    10.07.2007
    Beiträge:
    484
    Zustimmungen:
    0
    mehr komfort bekommst du nur durch sql und dazu brauchst ne datenbank...
     
Thema:

Newspost umsortieren

Die Seite wird geladen...

Newspost umsortieren - Ähnliche Themen

  1. Newsposter für www.computerforum-24.de

    Newsposter für www.computerforum-24.de: Hallo, Seit gestern ist ComputerForum-24.de online. Einen Newsposter gibt es bereits, weitere werden gesucht: ComputerForum-24.de - Newsposter...