• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP schreibt nicht mehr in Datei nach "form action"

ultrabrutale

Neues Mitglied
Hallo!!

ich bin gerade dabei mir ein kleines Forum zu basteln. Klappt soweit auch ganz gut...Wenn ich einen Eintrag erstelle, schreibt er mir in die Datei und holt es bei der nächsten Seite auch wieder heraus.

Allerdings nur wenn ich keine "action" in meinem Formular angebe; er also nicht auf die nächste Seite wechseln soll nach drücken des Submit Button.

Habe keine Ahnung wo dran das liegen könnte..
Wer kann mir helfen??



PHP:
<?php



if(isset($_POST['submit']))
{
    $text = $_POST['text'];
    $fuerdatei = date("d.m.Y. H:i") . " | " . " $text " . "\r\n ";
    $handle = fopen("Antworten.txt", "a+");
    fwrite($handle, $fuerdatei);
    fclose($handle);    
}

?>



<body bgcolor="#004671" text="#000000">

<table cellpadding="7">
 <tr bgcolor="#FFFFFF" height="400">
    <td width="200" valign="top" align="">Ihre Nachricht</td>
    <td width="600">   
    <form name="antw" action="thread1.php" method="post" enctype="text/html"/> 
    <textarea name="text" value="" rows=15 cols=60 wrap="soft" align="center"></textarea>
<br />
<br />
    <input type="submit" name="submit" value="antworten" />
    </form>
    </td>
  </tr>
</table>
</body>
 
Das action-Attribut des form-Tags verweist auf die Verarbeitungsdatei der Formulardaten, nicht auf die Datei, welche nach Formularabsendung angezeigt werden soll.
 
Meines Wissens wird aber nach Auswertung über eine andere Seite diese danach angezeigt!?

Demnach könntest du den Auswertungs-Code in, in deinem Fall, thread1.php packen und alles würde so laufen :)
 
vitus37 schrieb:
Das action-Attribut des form-Tags verweist auf die Verarbeitungsdatei der Formulardaten, nicht auf die Datei, welche nach Formularabsendung angezeigt werden soll.

Das ist aber erstmal dasselbe. Das action-Attribut verweist auf die Adresse (URL), die mit dem nächsten Request (ausgelöst durch Abschicken des Formulars) vom Browser aufgerufen wird.

action="" löst einen Request zur aktuellen Seite aus. Das könnte hier gewünscht sein.

Siehe auch: http://www.phpforum.de/forum/showthread.php?p=1422351
 
Zuletzt bearbeitet:
Verwende nicht PHP_SELF, mittels JS kann man Code einschleusen. Verwende besser:

action="<?php echo $_SERVER['SCRIPT_NAME']; ?>"
 
Zurück
Oben