Zum Inhalt springen

Funktion aufrufen in Form


Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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:)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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!!!

Link zu diesem Kommentar
Auf anderen Seiten teilen

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]

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...