Warum werden die Formulardaten nicht in der Datei gespeichert?
Michael
- php
Hallo Experten,
zur Programmierung eines Javascript Tickers durch einen Anwender, habe ich ein Formular gebastelt. Das Formular enthält 4 Textzeilen, 4 Checkboxen und einen Absenden Button. Es ist geplant, jede einzelne Textzeile durch den Anwender "freigeben" zu lassen (Checkbox) bevor die Eingaben dann von PHP in eine Datei geschrieben werden sollen.
Da der Quelltext des Formulars (möglicherweise durch meine umständlichen scripte) recht lang ist, habe ich zwei Versionen des Formulares online gestellt. Bitte schaut Euch den Quellcode dort an.
Bei beiden Formularen befindet sich hinter dem
Formular-Ende-Tag direkt folgendes PHP script:
<?php
$textdatei=fopen("Ticker.txt", "w+");
if ($textdatei<=0) {
printf("Tickertext-Datei nicht vorhanden oder defekt");
} else {
fputs($textdatei, $ersteZeile."\n".$zweiteZeile."\n".$dritteZeile."\n".$vierteZeile."\n");
}
fclose($textdatei);
?>
In der ersten Version:
http://www.mkti.de/demo/ticker3.php
rufe ich als aktion des Formulars direkt das Formular (ticker3) wieder auf. Hier wird der Inhalt der Formularzeilen dann auch in die Textdatei geschrieben. Allerdings fehlt die Überprüfung der Checkboxen.
In der zweiten Version:
http://www.mkti.de/demo/ticker5.php
führe ich als Aktion des Formulares die Javascript Funtion "verarbeite" aus, aus der heraus ich dann nach entsprechender Überprüfung der Checkboxen ebenfalls das Formular (ticker5)wieder aufrufe. Hier übergibt PHP aber immer nur leere Zeilen an die Datei.
(auf die Datei wird zugegriffen bzw sie wird angelegt bleibt aber leer)
Kann mir jemand sagen, was hier nicht stimmt?
Besten Dank im voraus!
Mit freundlichen Grüssen,
Michael
Hallo Michael,
das Problem liegt weniger an PHP als vielmehr an (Deinem) JavaScript.
if (document.Tickertext.z4_ok.checked ... )
{
location.href="Ticker5.php"
}
tut genau, was es soll: Es ruft die Seite Ticker5.php auf. Damit dort aber Daten verarbeitet werden können, müssen diese mitgeschickt werden.
Entweder Du baust die Variablen mit den den Pfad ein und übergibst sie per URL.
Oder Du läßt über das Script das Formular absenden.
if (document.Tickertext.z4_ok.checked ... )
{
document.Tickertext.submit() }
Grüße aus Würzburg
Julian
Hallo Michael,
Hallo Julian,
vielen Dank für Deine prompte Antwort. Dein Vorschlag
document.Tickertext.submit() }
ist mir sympatischer. Jetzt klappt´s auch mit dem Schreiben der Datei.
Vielen Dank auch!
Grüße aus Würzburg
Julian
Grüße aus der Nähe von Wü.
Michael