JSchreiber
Grünschnabel
Hallo Leute,
ist sicherlich kein großes Problem für Euch - aber ich bin blutiger Anfänger und habe trotz der Suche im Forum und eigenem versuchen einfach nicht das hinbekommen was ich möchte.
Also:
Ich habe einen News-Bereich angelegt, in den ich immer neue Newsmeldungen eintragen kann und die in einer Datei "news.txt" gespeichert werden. Eine Meldung besteht immer aus 3 Zeilen.
Jetzt möchte ich aber, daß ich zb. die 3. Newsmeldung löschen kann (also die 7-9 Zeile in meiner Textdatei).
Mit meinem nachfolgenden Skript wird aber irgendwie immer die ganze "news.txt" datei gelöscht - nicht nur diese 3 Zeilen.
Könnt Ihr mir erklären was ich falsch mache ?!
ist sicherlich kein großes Problem für Euch - aber ich bin blutiger Anfänger und habe trotz der Suche im Forum und eigenem versuchen einfach nicht das hinbekommen was ich möchte.
Also:
Ich habe einen News-Bereich angelegt, in den ich immer neue Newsmeldungen eintragen kann und die in einer Datei "news.txt" gespeichert werden. Eine Meldung besteht immer aus 3 Zeilen.
Jetzt möchte ich aber, daß ich zb. die 3. Newsmeldung löschen kann (also die 7-9 Zeile in meiner Textdatei).
Mit meinem nachfolgenden Skript wird aber irgendwie immer die ganze "news.txt" datei gelöscht - nicht nur diese 3 Zeilen.
Könnt Ihr mir erklären was ich falsch mache ?!
PHP:
<?php
// Abfrage der zu loeschenden News-Meldung
echo"";
echo"<form action='news.php' method='post'>";
echo"<b>Welche Meldung soll gelöscht werden ?</b><br>";
echo"<input type='text' name='nummer' style='border-style: solid; border-width: 1;
padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1'><br><br>";
echo"<input type='submit' value='löschen' style='border-style: solid;
border-width: 1; padding-left: 4; padding-right: 4; padding-top: 1;
padding-bottom: 1; font-size: 10pt'>";
echo"</form>";
// Plausibilitaetskontrolle ob News-Melung ueberhaupt vorhanden
if (($nummer>=1) & ($nummer<=$meldungsnummer))
{
#Zu loeschende Zeilen berechnen
$temp01=(($nummer-1)*3);
$temp02=$temp01+1;
$temp03=$temp02+1;
// Datei auslesen und in Array speichern
$inhalt = file('news.txt');
// Testausgabe, ob auch die richtigen Array-Stellen berechnet wurden
echo "zeile $temp01 - $inhalt[$temp01] wird gelöscht<br>";
echo "zeile $temp02 - $inhalt[$temp02] wird gelöscht<br>";
echo "zeile $temp03 - $inhalt[$temp03] wird gelöscht<br>";
// Loeschen der Array-Inhalte an den jeweiligen Zeilen
unset($inhalt[$temp01]);
unset($inhalt[$temp02]);
unset($inhalt[$temp03]);
// Testausgabe ob die Array-Inhalte geloescht wurden
echo "zeile $temp01 - $inhalt[$temp01]<br>";
echo "zeile $temp02 - $inhalt[$temp02]<br>";
echo "zeile $temp03 - $inhalt[$temp03]<br>";
// Textdatei zum Überschreiben öffnen und schreiben
$fp = fopen('news.txt','w');
fwrite($fp,$inhalt);
fclose($fp);
$nummer=0;
}
else
{
echo "Löschvorgang abgebrochen ! Meldungsnummer nicht vorhandn !";
}
?>