Hey!
Ich habe ein Datenbank (textdatei) in der mehrere Einträge stehen. Jeder Eintrag bestrht aus 8 zeilen! nun soll in meinem Script der komplette zweite Eintrag gelöscht werden. (Logischerweise ist der erste Eintrag zeile 1 bis 8, der zweite Eintrag zeile 9 bis 16 usw...). Das ganze soll nachher durch ein Formular ($min und $max sowie $datei) gesteuert werden. Nur warum kann ich die Funktion "function delete_line" nicht mit einer for-schleife 8 mal die zeilen löschen lassen? Es wird zwar die erste von den 8 gelöscht, dann kommt eine Fehlermeldung:
Warning: Missing argument 3 for delete_line() in \www\forum\del_eintrag.php on line 6
Fatal error: Cannot redeclare delete_line() (previously declared in \www\forum\del_eintrag.php:6) in \www\forum\del_eintrag.php on line 6
Was also aus der Fehlermeldung klar wird, findet die funktion die Variable $i nach dem ersten Durchgang nicht! Wie könnte man diese Problem lösen? Geht das was ich vorhabe mit einer for schleife überhaupt?
Bitte um hilfe!
Danke im Voraus!
MFG Israel's Son
Ich habe ein Datenbank (textdatei) in der mehrere Einträge stehen. Jeder Eintrag bestrht aus 8 zeilen! nun soll in meinem Script der komplette zweite Eintrag gelöscht werden. (Logischerweise ist der erste Eintrag zeile 1 bis 8, der zweite Eintrag zeile 9 bis 16 usw...). Das ganze soll nachher durch ein Formular ($min und $max sowie $datei) gesteuert werden. Nur warum kann ich die Funktion "function delete_line" nicht mit einer for-schleife 8 mal die zeilen löschen lassen? Es wird zwar die erste von den 8 gelöscht, dann kommt eine Fehlermeldung:
Warning: Missing argument 3 for delete_line() in \www\forum\del_eintrag.php on line 6
Fatal error: Cannot redeclare delete_line() (previously declared in \www\forum\del_eintrag.php:6) in \www\forum\del_eintrag.php on line 6
Was also aus der Fehlermeldung klar wird, findet die funktion die Variable $i nach dem ersten Durchgang nicht! Wie könnte man diese Problem lösen? Geht das was ich vorhabe mit einer for schleife überhaupt?
Bitte um hilfe!
Danke im Voraus!
PHP-Code:
$datei = "datei.txt";
$min = "9";
$max = "16";
for($i=$min; $i <= $max; $i++) {
// Eintrag löschen
function delete_line($file, $line, $change_in) {
$entries = file($file);
if(empty($change_in)) {
unset($entries[$line-1]);
} else {
$entries[$line-1] = $change_in;
}
$newentries = implode("", $entries);
$datei_forum = fopen($file, "w");
fputs($datei_forum, $newentries);
fclose($datei_forum);
}
delete_line("$datei", $i);
}
echo "gelöscht...";
Kommentar