snopsy Geschrieben 12. April 2002 Geschrieben 12. April 2002 Hallo, jetzt habe ich noch eine Frage! Meine Funktionen funktionieren in der zwischenzeit. Nun will ich aber die Funktion lesen über einen Button aufrufen. Der Inhalt dieser Datei soll in ein teaxtarea gestellt werden. Wie kann ich das machen? Hier der Form-Code: <form action="index.php"> Ausgabe: <br> <textarea name="ausgabe" cols="50" rows="10" readonly></textarea> <br><br> <input type="submit" value="lesen"> </form>[/PHP] Hier nochmals der Code meiner funktion: [PHP]function lesen() { $file = fopen("eingabe.txt", "r"); if (!$file) { echo "<p>Datei konnte nicht geöffnet werden.\n"; exit; } $ausgabe = fread($file, 100); fclose($file); } wäre super, wenn mir hier jemand helfen könnte. Vielen Dank schon im voraus. Gruß Snopsy Zitieren
DanielH Geschrieben 12. April 2002 Geschrieben 12. April 2002 Hi, deiner form fehlt ein method="get bzw. post" z.B. <form method="post" action="<? lesen() ?>"> so sollte es gehen. was auch geht: <form method="post" action="<? $PHP_SELF ?>"> if($lesen) { lesen() } dafür muss der Submit-button so aussehen: <input type="Submit" name="lesen" value="lesen"> MfG:) Zitieren
snopsy Geschrieben 12. April 2002 Autor Geschrieben 12. April 2002 Funktioniert leider beides nicht :-(( Ich habe gerade noch festgestellt, wenn ich auf den Lesen-Button klicke wird die Text-Datei geleert. Kann es sein, daß die Datei überschrieben wird anstatt gelesen? Und das obwohl in der Funktion ein r steht und kein w?! Wird überhaupt mein Textarea-Feld richtig gefüllt? Vielleicht liegt daran ja das Problem mit der anzeige?! CU Snopsy Zitieren
DanielH Geschrieben 12. April 2002 Geschrieben 12. April 2002 Hi, Das untere Beispiel in Verbindung mit einem refresh und diesem Code: <textarea><? echo $ausgabe ?></textarea> wobei deine Funktion lesen() den Wert ja auch zurückgeben muss. MfG:) Zitieren
snopsy Geschrieben 15. April 2002 Autor Geschrieben 15. April 2002 Hi! ich hab jetzt nochmal alles mögliche rumprobiert und ich schaffe es einfach nicht, daß bei mir der Text dann in eine Text-Area gestellt wird. Wenn ich in der Form eine andere *.php-Datei aufrufe funktioniert es wunderbar. Allerdings gebe hier hier den Text dann nicht in ein Formular-Fenster sondern nur so aus. Was ich nicht ganz verstehe ist, ich rufe die schreibe()-Methode als auch die lese()-Methode als akction in der Form auf. Das schreiben macht er, aber das lesen funktioniert nicht. :confused: :confused: Hier nochmals mein aktueller Code meiner Seite. Ich stelle einfach mal das Komplette rein: <html> <head> <title>Übung 1</title> </head> <body bgcolor="lightblue"> <? function speichern($eing) { $file = fopen ("eingabe.txt", "w"); if (!$file) { echo "<p>Datei konnte zum schreiben nicht geöffnet werden.\n"; exit; } fputs ($file, "$eing"); fclose($file); } function lesen() { $fd = fopen ("eingabe.txt", "r"); while (!feof($fd)) { $buffer = fgets($fd, 4096); } fclose ($fd); } ?> <table width="100%" border="0"> <tr> <td width="50%"> <form action="<? speichern($eingabe); ?>" method="post"> Bitte einen Text eingeben: <br> <textarea name="eingabe" cols="50" rows="10"></textarea> <br><br> <input type=submit value="speichern"> </form> </td> <td width="50%"> <form action="<? lesen(); ?>" method="post"> Ausgabe: <br> <textarea name="ausgabe" cols="50" rows="10" readonly><? echo $buffer; ?> </textarea> <br><br> <input type="submit" value="lesen"> </form> </td> </tr> </table> </body> </html>[/PHP] Kann mir hier jemand helfen, daß das funktioniert? Danke & Gruß Snopsy P.S.: Lese- und schreibrechte auf die Datei sind vorhanden!!! Zitieren
Art Geschrieben 15. April 2002 Geschrieben 15. April 2002 versuchs doch einfach so: <html> <head> <title>Übung 1</title> </head> <body bgcolor="lightblue"> <? if ($lesen) { $fd = fopen ("eingabe.txt", "r"); while (!feof($fd)) { $buffer = fgets($fd, 4096); } fclose ($fd); } ?> <? if ($speichern) { $file = fopen ("eingabe.txt", "w"); if (!$file) { echo "<p>Datei konnte zum schreiben nicht geöffnet werden.\n"; exit; } fputs ($file, "$eingabe"); fclose($file); } ?> <table width="100%" border="0"> <tr> <td width="50%"> <form action="<? $PHP_SELF ?>" method="post"> Bitte einen Text eingeben: <br> <textarea name="eingabe" cols="50" rows="10"></textarea> <br><br> <input type=submit name="speichern" value="speichern"> </form> </td> <td width="50%"> <form action="<? $PHP_SELF ?>" method="post"> Ausgabe: <br> <textarea name="ausgabe" cols="50" rows="10" readonly><? echo "$buffer"; ?> </textarea> <br><br> <input type="submit" name="lesen" value="lesen"> </form> </td> </tr> </table> </body> </html> [/PHP] Zitieren
snopsy Geschrieben 15. April 2002 Autor Geschrieben 15. April 2002 Hey super Danke!! Jetzt funktionierts!! Grüßle Snopsy Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.