Login - Newsfunktion

Danke schon mal für die Möglichkeit mit der Schleife!

Komischerweise wird inhalt und name immer noch nicht übergeben! Muss da wohl noch mal alles durchsehen!

Wie kann ich die Schleife andersrum machen? So dass, die neusten News vorne stehen? oder muss ich dann Einfach fopen so ändern, dass der Cursor quasi am Anfang der Datei ist?
 
Ne mach es so:

PHP:
  $news  = file ('news.txt');
  $news  = array_reverse($news); //dieser Befehl dreht die reihenfolge des arrays um 
  $cnews = count($news);
  for($i=0;$i<$cnews;$i++) {
  $newsex = explode("|", $news[$i]);
  print "$newsex[0]<br /><br />";
  print "$newsex[1]<br /><br />";
  print "$newsex[2]<br /><br />";
  }
 
Forstern hattest du net gerade was geschrieben ? ;)

Naja aber mit der Version geht es, bei Forsterns Version hat er den letzten Eintrag nicht angezeigt!

Jetzt habe ich immer noch das Problem, dass $titel und $name nicht angezeigt werden und ich weiss einfach nicht warum!
 
HTML:
<form action="ok.php" method="post" target="_self">
<table >
<tr>
<td valign="top" style="width:55px">Titel:</td><td><input type="Text" name="titel" value="" size="34" maxlength=""></td>
</tr>
<tr>
<td valign="top" style="width:55px">Name:</td><td><input type="Text" name="name" value="" size="34" maxlength=""></td>
</tr>
<tr>
<td valign="top" style="width:55px">News:</td><td><textarea name="news" cols="29" rows="6"></textarea></td>
</tr>
<tr>
<td style="width:55px"></td>
<td valign="top" align="right"><input type="Submit" name="" value="senden"> </td>
</tr>
</table>
</form>

PHP:
<?php
$inhalt = $_POST['titel']."|-|".$_POST['name']."|-|".$_POST['news']."|-|\n";
// Sichergehen, dass die Datei existiert und beschreibbar ist
if (is_writable("news.txt")) {
if (!$handle = fopen("news.txt", "a+")) {
   print "Kann die Datei news.txt nicht öffnen";
   exit;
}
if (!fwrite($handle, $inhalt."\n")) {
   print "Kann in die Datei news.txt nicht schreiben";
   exit;
}
print "Sie haben folgenden Text in die News eingetragen:<br /><br />$titel<br /><br />$name<br /><br />$news";
fclose($handle);
} else {
print "Die Datei news.txt ist nicht schreibbar";
}
?>
 
Warum auch immer, aber jetzt funktioniert es, aber es ist noch ein Fehler drin. Wenn die News ausgegeben werden, ist erst ein Bereich frei, dann News1, dann Bereich frei, dann News! Warum? Wie kann ich das verändern?
 
Hi,
hast du jetzt diesen Code um die News auszulesen?:
PHP:
<?php
$news  = file ('news.txt');
$news  = array_reverse($news); //dieser Befehl dreht die reihenfolge des arrays um 
$cnews = count($news);
for($i=0;$i<$cnews;$i++) {
$newsex = explode("|", $news[$i]);
print "$newsex[0]<br /><br />";
print "$newsex[1]<br /><br />";
print "$newsex[2]<br /><br />";
}  
?>
Wenn ja, dann entferne doch einfacg das zweite " <br /> " am ende der Zeile ^^.
Achja noch was: Bei deinem Formular in der .html Datei steht bei action="_SELF"
Ersetzte es doch mal mit action="".$_SERVER['PHP_SELF']:"", was natürrlich nicht geht, weil es ne html datei ist ^^ Kannst ja aber in .php umbenennen...

Die 3. Sache wäre nur mal so nebenbei undzwar könnte man es sich sparen, die Eintröge zu zählen und es einfach mit ner foreach machen ;) :
PHP:
<?php
$news  = file ('news.txt');
$news  = array_reverse($news); //dieser Befehl dreht die reihenfolge des arrays um 
foreach($news as $key => $value) {
$newsex = explode("|", $value);
print "$newsex[0]<br /><br />";
print "$newsex[1]<br /><br />";
print "$newsex[2]<br /><br />";
}  
?>
Müsste eigentlich so richtig sein.

Naja, das war mien Senf dazu :-P ^^

Gruß,
Snowowl
 
Zurück