bob in motion
Grünschnabel
Ich habe ein Problem mit einem einfachen Script.
Ich will ich mit einem Formular die zweite Zeile in meiner Datei (include.php) bearbeiten.
Ich habe jetzt folgende Dateien (mit Inhalt):
include.php
form.php
zeile2loeschen.php
Kurze Information:
Der Name der Datei "zeile2loeschen.php" hat nichts zu bedeuten,
sie heißt nur so, da die ursprüngliche Funktion NUR das löschen der zweiten Zeile war.
So, und jetzt zu meinem Problem:
Wenn ich die Datei "form.php" starte, und die gewünschten Daten eintrage:
1. Feld: "include.php" ---- 2. Feld: "MEIN NEUER TEXT"
wird tatsächlich die zweite Zeile durch den gewünschten Text ersetzt.
Nur sieht sie dann wie folgt aus:
d.h. wenn ich die Datei jetzt ein zweites Mal bearbeite, löscht es mir auch das "?>"
ALSO:
Was kann ich bzw. muss ich machen damit die Datei bestehen bleibt und wirklich nur
die zweite Zeile bearbeitet wird, ohne die dritte Zeile in die zweite zu verschieben?
Ich will ich mit einem Formular die zweite Zeile in meiner Datei (include.php) bearbeiten.
Ich habe jetzt folgende Dateien (mit Inhalt):
include.php
PHP:
<?php $datei = "
TEST
"?>
form.php
PHP:
<form name="form1" method="post" action="zeile2loeschen.php">
<input name="namederdatei" type="text" id="namederdatei">
<input name="neuertext" type="text" id="neuertext">
<input type="submit" name="Submit" value="Senden">
</form>
zeile2loeschen.php
PHP:
<?php
$datei = "$namederdatei";
$fp = fopen($datei,"rb");
$array = file($datei);
$zeilen = count($array);
$id = '1';
if ($zeilen == 0)
{
print 'Die angegebene Zeile ist nicht vorhanden';
}
else
{
if ($zeilen <= $id)
{
print 'Die angegebene Zeile gibt es nicht';
}
else
{
unset($array[$id]);
$neuschreiben = fopen($datei,"wb");
fputs($neuschreiben,implode("$neuertext",$array));
fclose($neuschreiben);
print 'Die angegebene Zeile '.$id.' wurde bearbeitet.';
}
}
?>
Kurze Information:
Der Name der Datei "zeile2loeschen.php" hat nichts zu bedeuten,
sie heißt nur so, da die ursprüngliche Funktion NUR das löschen der zweiten Zeile war.
So, und jetzt zu meinem Problem:
Wenn ich die Datei "form.php" starte, und die gewünschten Daten eintrage:
1. Feld: "include.php" ---- 2. Feld: "MEIN NEUER TEXT"
wird tatsächlich die zweite Zeile durch den gewünschten Text ersetzt.
Nur sieht sie dann wie folgt aus:
PHP:
<?php $datei = "
MEIN NEUER TEXT" ?>
d.h. wenn ich die Datei jetzt ein zweites Mal bearbeite, löscht es mir auch das "?>"
ALSO:
Was kann ich bzw. muss ich machen damit die Datei bestehen bleibt und wirklich nur
die zweite Zeile bearbeitet wird, ohne die dritte Zeile in die zweite zu verschieben?