Problem mit Newsscript!! PLZ HELP (bin php noob)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit Newsscript!! PLZ HELP (bin php noob)

    HI,

    ich hab ein problem mit meinen Newsscript!
    Ich hab ein Formular wo man das passwort die news den namen usw alles eintragen muss alles funzt super und wird in eine TXT datei gespiechert.
    Nur dass problem ist Dass DIE neuesten einträge nicht ganz oben sondern immer ganz unten stehen! Die datei was den code hat die News zu überprüfen heißt newse.php heir der code:

    PHP-Code:
     <?php
    $datum 
    date("d.m.y");  
    $benutzer "$name".".txt";  
    $check fopen("user/$benutzer","r");  
    if (
    $check)  
    {  
    $zeile fgets($check15);  
    if (
    $password!=$zeile)  
    {  
    echo 
    "<h3>Du hast leider ein falsches Passwort eingegeben.</h3>Bitte versuche es noch einmal: <a href='javascript:history.back()'>Zurück</a>";  
    }  
    else  
    {   
    $daten="<table width=\"75%\" border=\"0\" align=\"center\" bgcolor=\"#333333\">
      <tr> 
        <td><strong><font size=2>
    $title</font></strong></td>
      </tr>
      <tr> 
        <td> <font color=\"#000000\" size=2 face=\"Verdana, arial, helvetica, sans-serif\">
    $text 
          <br>
          ---<br>
          by 
    $name </font></td>
      </tr>
      <tr> 
        <td><font size=\"2\">Related Links: </font></td>
      </tr>
    </table>"
    ;
    $datenbank "daten.dat";
    $datei fopen($datenbank,"a");
    fwrite($datei$daten);
    echo 
    "<h3>News gespeichert!</h3>";  
    }  
    }  
    else  
    {  
    echo 
    "<h3>Dein Name ist nicht registriert!</h3>Bitte schicke dem Administrator eine <a href='mailto:deine@e-mail.de?subject=Newsschreiben'>E-Mail</a>";  
    }  
    ?>
    WAS muss ich ändern damit DIE NEUESTEN news immer ganz oben stehen und die älteren dort drunter

    ich hoffe ihr könnt mir weiterhelfen

  • #2
    hmm

    Kann mir niemand weiterhelfen?
    Oder wie/was is der code/befehl dass der neuste Eintrag immer oben in die TXT datei gespiechert wird?

    Kommentar


    • #3
      PHP-Code:
      <?php
      $datum 
      date("d.m.y");  
      $benutzer "$name".".txt";  
      $check fopen("user/$benutzer","r");  
      if (
      $check) {  
          
      $zeile fgets($check15);  
          if (
      $password!=$zeile) {  
              echo 
      "<h3>Du hast leider ein falsches Passwort eingegeben.</h3>Bitte versuche es noch einmal: <a href='java script:history.back()'>Zurück</a>";  
          } else {   
              
      $daten="<table width=\"75%\" border=\"0\" align=\"center\" bgcolor=\"#333333\">
                <tr> 
                  <td><strong><font size=2>
      $title</font></strong></td>
              </tr>
              <tr> 
                  <td> <font color=\"#000000\" size=2 face=\"Verdana, arial, helvetica, sans-serif\">
      $text 
                  <br>
                  ---<br>
                  by 
      $name </font></td>
              </tr>
              <tr> 
                  <td><font size=\"2\">Related Links: </font></td>
              </tr>
              </table>
              "
      ;
              
      $datenbank "daten.dat";

              @
      $fp fopen($datenbank,"r"); // File zum Lesen öffnen 
              
      if ($fp) {
                  
      $fileok "ok";
                  while (!
      feof($fp)) { 
                      
      $zeilen[] = fgets($fp4096); // File zeilenweise in einen Array einlesen
                  
      }
              }
              @
      fclose($fp);

              
      $fp fopen($datenbank,"w"); // File zum Schreiben öffnen
              
      fputs($fp$daten);

              if (
      $fileok == "ok") {
                  for (
      $i=0;$i<sizeof($zeilen);$i++) { // Array lesen und Inhalte in File schreiben
                      
      fputs($fp$zeilen[$i]);
                  }
              }
                 
      fclose($fp);    
              echo 
      "<h3>News gespeichert!</h3>";  
          }  
      } else {  
          echo 
      "<h3>Dein Name ist nicht registriert!</h3>Bitte schicke dem Administrator eine <a href='mailto:deine@e-mail.de?subject=Newsschreiben'>E-Mail</a>";  
      }  
      ?>

      Kommentar


      • #4
        Das is eigentlich ziemlich umständlich. Schreib Doch Deine news immer schön als append an die txt so wie bisher und sortiere sie beim auslesen und der Ausgabe...
        dazu:
        $file = file($datei);
        sort($file);
        und dann die Ausgabe...
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          juhu!...

          es hat geklappt!
          thx leute

          Kommentar


          • #6
            @Mellopie
            Mit file() bekommt man gelegentlich komische Effekte im Zusammenhang mit Zeilenumbrüchen - deshalb mach ich das über die sichere Methode, mit der ich noch nie Probleme hatte und lediglich ein paar Zeilen mehr Code bedeuten.
            Das mit dem sort() verstehe ich allerdings nicht.

            Hier die Version mit file(), probier es mal aus - ist ja schnell gemacht - und schau Dir dann ab ca. dem 3. Insert das File daten.dat an:
            PHP-Code:
            <?php
            $datum 
            date("d.m.y");  
            $benutzer "$name".".txt";  
            $check fopen("user/$benutzer","r");  
            if (
            $check) {  
                
            $zeile fgets($check15);  
                if (
            $password!=$zeile) {  
                    echo 
            "<h3>Du hast leider ein falsches Passwort eingegeben.</h3>Bitte versuche es noch einmal: <a href='java script:history.back()'>Zurück</a>";  
                } else {   
                    
            $daten="<table width=\"75%\" border=\"0\" align=\"center\" bgcolor=\"#333333\">
                      <tr> 
                        <td><strong><font size=2>
            $title</font></strong></td>
                    </tr>
                    <tr> 
                        <td> <font color=\"#000000\" size=2 face=\"Verdana, arial, helvetica, sans-serif\">
            $text 
                        <br>
                        ---<br>
                        by 
            $name </font></td>
                    </tr>
                    <tr> 
                        <td><font size=\"2\">Related Links: </font></td>
                    </tr>
                    </table>
                    "
            ;
                    
            $datenbank "daten.dat";

                    
            $zeilen file($datenbank); // File zeilenweise in einen Array einlesen 

                    
            $fp fopen($datenbank,"w"); // File zum Schreiben öffnen
                    
            fputs($fp$daten);
                    for (
            $i=0;$i<sizeof($zeilen);$i++) { // Array lesen und Inhalte in File schreiben
                        
            fputs($fp$zeilen[$i]);
                    }
                    
            fclose($fp);    

                    echo 
            "<h3>News gespeichert!</h3>";  
                }  
            } else {  
                echo 
            "<h3>Dein Name ist nicht registriert!</h3>Bitte schicke dem Administrator eine <a href='mailto:deine@e-mail.de?subject=Newsschreiben'>E-Mail</a>";  
            }  
            ?>

            Kommentar

            Lädt...
            X