Newsscript

El_Tomato

Erfahrenes Mitglied
Ich hab da son Tutorial von nem Newsscript gefunden, aber ich möchte gerne, dass nach 3 Einträgen eine neue Seite erstellt wird, geht sowas, wenn ja wie?

Hier ist schonmal der Coder der newsadmin.php:
PHP:
<?php

//Vorgabe Login-Daten leeren

$login = array();

//Vorgabe Login-Daten setzen

$login['admin'] = "*****************"; //2 mal md5 verschlüsselt

$login['webmaster'] = "*************************";

//es können beliebig viele weitere Namen hinzugefügt werden

//die Passwörter in diesem Beispiel lauten Passwort1 und Passwort2





//usernamen aus Postdata entnehmen

$user = $_POST['user'];

//passwort aus Postdata entnehmen

$pass = $_POST['pass'];

//Verschlüsslungsbefehl aus Postdata übernehmen

$md = $_POST['md'];

//Titel aus Postdata entnehmen

$title = $_POST['title'];

//Text aus Postdata entnehmen

$text = $_POST['text'];



//Passwort nach Übergabe Verschlüsseln

if($md == "true"){

 //Nur verschlüsseln wenn gesetzt

 if(isset($pass)){

  //Verschlüsseln

  $pass = md5($pass);

 }

}



//Login ablauf nur wenn Login-Paar gesetzt ist

if(isset($user)&&isset($pass)){

 //Passwort erneut verschlüsseln und abfragen

 if($login[$user]== md5($pass)){

  //Sequenz: mitgliederbereich

  //Eintragung nur bei gesetztem Titel und Inhalt

  if(isset($title)&&isset($text)){

   //Eintragungssequenz

   //Datei auswählen

   $datei = "news.txt";

   //Datei öffnen wenn möglich

   $gdatei = fopen($datei, "r+") or exit('Das Newsseite konnte nicht geöffnet werden');



   //flock($gdatei, LOCK_EX) or die('$gdatei kann nicht gepserrt werden...');

   //Soviele Zeichen aus der Datei lsesen wie sie groß ist

   $inhalt = fread($gdatei, filesize($datei));

   //Zum Anfang der Datei springen

   rewind($gdatei);

   //Datum setzen

   $datum = date("d.m.Y");

   //Text formatiert eintragen, die Formatierungen können auch geändert werden..

   fwrite($gdatei, "<table width=\"80%\"><tr><td><b>$title</b> ($datum) </td>");

   fwrite($gdatei, "<td align=\"right\"><b>$user</b></td></tr><tr><td>");

   fwrite($gdatei, "$text");

   fwrite($gdatei, "</td></tr></table><br />");

   fwrite($gdatei, "\n \n");

   //ursprünglichen Inhalt anfügen

   fwrite($gdatei, "$inhalt");

   echo "Eingetragen!";

  }else{

   //Formular für Eintragung

   ?>

   <form action="" method="post">

   <input type="Text" name="title" value="" /><br />

   <textarea name="text"></textarea><br />

   <input type="hidden" name="user" value="<?= $user ?>" />

   <input type="hidden" name="pass" value="<?= $pass ?>" />

   <input type="hidden" name="md" value="false" />

   <input type="Submit" name="Submit" value="Submit" />

   </form>

   <?php

  }

 }else{

  //Sequenz Passwort falsch

  echo "Das Passwort scheint nicht richtig zu sein.";

 }

}else{

 ?>

 <form action="" method="post"><input type="Text" name="user" /><input type="Password" name="pass" /><input type="hidden" name="md" value="true" /><input type="Submit" name="Submit" value="Submit" /></form>

 <?php

}

?>
 
Besteht die Möglichkeit, daß Du Deine Einträge in einer Datenbank abspeicherst? Dann kannst Du z.B. bei MySQL "Limit" verwenden.
Fals nicht, dann kannst Du in Deiner news.txt künstliche Tags einbauen.
<news1>Bla</news1>
<news2>Blabla</news2>
<news2>Blablabla</news2>
Dann nimmst Du für die erste Seite alles, was zwischen <news1> und </news3> steht und gibst das aus. Dafür kannst Du stripos() und substr() verwenden.
 
Hallo,
Fals nicht, dann kannst Du in Deiner news.txt künstliche Tags einbauen.
<news1>Bla</news1>
<news2>Blabla</news2>
<news2>Blablabla</news2>
Dann nimmst Du für die erste Seite alles, was zwischen <news1> und </news3> steht und gibst das aus. Dafür kannst Du stripos() und substr() verwenden.
also wenn man es schon mit einer Textdatei macht, dann würd ich den ganzen Inhalt mit [phpf]file[/phpf] in ein Array laden und dann kannst du ja bestimmmen, ab welchem und vorallem wie viele "Einträge" angezeigt werden.

mfg
forsterm
 
Zurück