Sk3l3tor
Erfahrenes Mitglied
Hi,
ich hatte mein Problem ja schon in den anderen Thread geschrieben, aber ich denke, dadurch, dass der so lang war (und dadurch unübersichtlich!), haben da dann wieder weniger und vor allem auch mal andere User reingeschaut, vielleicht findet hier ja noch jemand den Weg, der mir helfen kann.
Mein Problem:
Ich sende per Formular Daten an eine Datei, die diese Daten in eine *.txt speichert, alles wunderbar. Auf der "news.php" lasse ich diese Ausgeben, eigentlich auch noch alles wunderbar. Aber um von der 1. Seite aus eine Löschfunktion einzubauen, dachte ich mir ich mach es folgendermaßen. Der Mitarbeiter, welcher sich eingeloggt hat, findet auf seiner internen Seite folgende Möglichkeiten: 1. News schreiben 2. News löschen und 3. (irgendwann mal ) News editieren.
Die Löschfunktion habe ich folgendermaßen gemacht: Der Mitarbeiter gibt in ein Feld ein, welche News er löschen möchte, dies wird dann an die delete.php geschickt, diese löscht die News, jetzt habe ich aber ein Problem, damit der Mitarbeiter weiß, welche News er löschen möchte, habe ich jeweils eine Nummer dazu ausgegen lassen, diese kann er dann bei löschen eingeben. Die Sache ist aber, dass ich die News in umgekehrter Reihenfolge ausgeben lasse, also die als erstes geschrieben wurden, erscheinen als letztes. Wenn ich jedoch jetzt z.b.: fünf News habe und lösche Nr. 2 löscht er nicht die zweite angezeigte (die auch die Nr. 2 hat), sondern er löscht, die vierte, die als zweites eingegeben wurde.
Was kann ich ändern? Entweder hätte ich gerne, dass die Nr. anders ausgegeben werden, also die ältesten News ganz unten, die Nr. 1 bekommen oder dass das Löschscript andersherum zählt.
Hier mal meine Scripts:
news.php
delete.php Übergabe der Variable
delete.php function
Ich hoffe ich habe alles verständlich beschrieben und die aufgeführten Scripts reichen!
Danke im Vorraus!
ich hatte mein Problem ja schon in den anderen Thread geschrieben, aber ich denke, dadurch, dass der so lang war (und dadurch unübersichtlich!), haben da dann wieder weniger und vor allem auch mal andere User reingeschaut, vielleicht findet hier ja noch jemand den Weg, der mir helfen kann.
Mein Problem:
Ich sende per Formular Daten an eine Datei, die diese Daten in eine *.txt speichert, alles wunderbar. Auf der "news.php" lasse ich diese Ausgeben, eigentlich auch noch alles wunderbar. Aber um von der 1. Seite aus eine Löschfunktion einzubauen, dachte ich mir ich mach es folgendermaßen. Der Mitarbeiter, welcher sich eingeloggt hat, findet auf seiner internen Seite folgende Möglichkeiten: 1. News schreiben 2. News löschen und 3. (irgendwann mal ) News editieren.
Die Löschfunktion habe ich folgendermaßen gemacht: Der Mitarbeiter gibt in ein Feld ein, welche News er löschen möchte, dies wird dann an die delete.php geschickt, diese löscht die News, jetzt habe ich aber ein Problem, damit der Mitarbeiter weiß, welche News er löschen möchte, habe ich jeweils eine Nummer dazu ausgegen lassen, diese kann er dann bei löschen eingeben. Die Sache ist aber, dass ich die News in umgekehrter Reihenfolge ausgeben lasse, also die als erstes geschrieben wurden, erscheinen als letztes. Wenn ich jedoch jetzt z.b.: fünf News habe und lösche Nr. 2 löscht er nicht die zweite angezeigte (die auch die Nr. 2 hat), sondern er löscht, die vierte, die als zweites eingegeben wurde.
Was kann ich ändern? Entweder hätte ich gerne, dass die Nr. anders ausgegeben werden, also die ältesten News ganz unten, die Nr. 1 bekommen oder dass das Löschscript andersherum zählt.
Hier mal meine Scripts:
news.php
PHP:
<?php
$news = file ('news.txt');
$news = array_reverse($news);
$cnews = count($news);
for($i=0;$i<$cnews;$i++) {
$newsex = explode("|-|", $news[$i]);
$nr = $i +1;
print "<table style='width:300'><tr><td colspan='2' align='right'><font size='1'>News Nr. $nr</font></td></tr><tr><td><b>$newsex[0]</b></td><td align='right'><font size='1'>geschrieben am $newsex[1]</font></td></tr><tr><td colspan='2'><font size='1'>$newsex[2]</font</td></tr><tr><td colspan='2'>$newsex[3]</td></tr></table>";
}
?>
PHP:
<?php
$zeile = $_POST['zeile'];
$zeile = $zeile-1;
?>
PHP:
<?php
function delete($zeile)
{
$lfi = file('news.txt');
$lcdfi = count($lfi);
unset($lfi[$zeile]);
$ldf = fopen("news.txt","w+");
for($i=0;$i<$lcdfi;$i++)
{
fwrite($ldf,$lfi[$i]);
}
fclose($ldf);
}
?>
Ich hoffe ich habe alles verständlich beschrieben und die aufgeführten Scripts reichen!
Danke im Vorraus!