daten aus Textfeld in Textdatei speichern
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ausprobieren
button
code
dank
datei
datum
eingabe
feld
form
index
input
korrekt danke
realisieren
schema
textdatei
trennen
variable preis
verweis
vorname
zeile
-
hallo @ all.
Wie kann ich die daten aus einem input (text) mittels PHP in eine textdatei schreiben?
also die Site sieht zur Zeit i.E. so aus:
<html> <head> <title>MEINE SITE</title> </head> <body> <h1>INPUT</h1> <form action="input_text.htm"> <p>Vorname:<br><input name="DATEN1" type="text" size="30" maxlength="30"></p> <p>Zuname:<br><input name="DATEN2" type="text" size="30" maxlength="40"></p> <p><input name="submit" type="button"></p> </form> </body> </html>
welches PHP-Script brauche ich , um bei einem Klick auf den BUtton die Daten aus den obrigen Feldern in eine textdatei (daten.txt) schreiben?
in der txt sollten die Daten in folgendem oder ähnlichem Schema stehen:
DATEN DES 1 FELDES
;LEERZEILE;
;LEEREILE;
DATEN DES 2 FELDES
Die Möglichkeit, in eine SQL zu schreiben lehne ich strikt ab...
Wie könnte man das lösen?
LG
MTW-Datenbank -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich speichere meine Daten so:
$datei = fopen("kurspreis.txt","w+"); rewind($datei); fwrite($datei, $preis); fclose($datei);
Dann wird die variable "preis" in die Datei "kurspreis" geschrieben. -
Also ich müsste z.B. so machen
<? php $datei = fopen("datei.txt","w+"); rewind ($datei); fwrite($datei, $var1); fwrite($datei, $var2); fclose($datei); ?>
dass kommt in den <head> oder?
und wie kann ich die daten des feldes 1 in die varriable var1 und die des feldes 2 in die var2 schreiben?
und mit dem button absenden?
aber danke schonmal
lg
Beitrag zuletzt geändert: 27.1.2011 9:53:42 von mtw-datenbank -
Habe da mal kurz was für dich geschrieben ... allerdings werden die Daten in einer zeile mit einem "Leerzeichen" getrennt. Ich gehe mal davon aus, das du noch ein Anfänger in php bist und habe dir mal ein paar hinweise hinterlassen. Bitte nicht böse sein, wenn du keiner mehr bist.
<html> <head> <title>MEINE SITE</title> </head> <body> <h1>INPUT</h1> <?php //prüft ob form benutzt if ($_POST['submit']){ //liest Daten aus dem Form aus $daten1=$_POST['DATEN1']; $daten2=$_POST['DATEN2']; //fügt daten zusammen getrennt durch ein leerzeichen $alledaten= $daten1 . " " . $daten2; //schreibt die Daten in textfile $datei = fopen("kurspreis.txt","w+"); rewind($datei); fwrite($datei, $alledaten); fclose($datei); //wenn form nicht benutzt (das kommt nach den else) }else{ ?> <form action="input_text.php"> <p>Vorname:<br><input name="DATEN1" type="text" size="30" maxlength="30"></p> <p>Zuname:<br><input name="DATEN2" type="text" size="30" maxlength="40"></p> <p><input name="submit" type="button"></p> </form> <?php //das mit dem prüfen entgültig schließen } ?> </body> </html>
Die ganz Datei muss dann input_text.php heißen, denn html schafft das nicht^^
Beitrag zuletzt geändert: 27.1.2011 10:09:47 von das-dorf -
also sieht es bei mir so aus:
<html> <head> <title>MEINE SITE</title> </head> <body> <h1>INPUT</h1> <?php //prüft ob form benutzt if ($_POST['submit']){ //liest Daten aus dem Form aus $daten1=$_POST['DATEN1']; $daten2=$_POST['DATEN2']; //fügt daten zusammen getrennt durch ein leerzeichen $alledaten= $daten1 . " " . $daten2; //schreibt die Daten in textfile $datei = fopen("daten.txt","w+"); rewind($datei); fwrite($datei, $alledaten); fclose($datei); //wenn form nicht benutzt (das kommt nach den else) }else{ ?> <form action="input_text.php"> <p>Vorname:<br><input name="DATEN1" type="text" size="30" maxlength="30"></p> <p>Zuname:<br><input name="DATEN2" type="text" size="30" maxlength="40"></p> <p><input name="submit" type="button"></p> </form> <?php //das mit dem prüfen entgültig schließen } ?> </body> </html>
kann meine php-file auch index.php heißen?
danke -
<html> <head> <title>MEINE SITE</title> </head> <body> <h1>INPUT</h1> <?php //prüft ob form benutzt if ($_POST['submit']){ //liest Daten aus dem Form aus $daten1=$_POST['DATEN1']; $daten2=$_POST['DATEN2']; //fügt daten zusammen getrennt durch ein leerzeichen $alledaten= $daten1 . " " . $daten2; //schreibt die Daten in textfile $datei = fopen("daten.txt","w+"); rewind($datei); fwrite($datei, $alledaten); fclose($datei); //wenn form nicht benutzt (das kommt nach den else) }else{ ?> <form action="index.php" method="post"> <p>Vorname:<br><input name="DATEN1" type="text" size="30" maxlength="30"></p> <p>Zuname:<br><input name="DATEN2" type="text" size="30" maxlength="40"></p> <p><input name="submit" type="button"></p> </form> <?php //das mit dem prüfen entgültig schließen } ?> </body> </html>
wäre das so korrekt?
danke dir -
Ich würde es ausprobieren^^
Versuch nochmal das "DATEN1" & "DATEN2" überall im Code nach "dateneins" & "datenzwei" zu ändern, manchmal hatte ich massive Probleme mit der Zahl in der Variablen.
Also nimm den:
<html> <head> <title>MEINE SITE</title> </head> <body> <h1>INPUT</h1> <?php //prüft ob form benutzt if ($_POST['submit']){ //liest Daten aus dem Form aus $dateneins=$_POST['dateneins']; $datenzwei=$_POST['datenzwei']; //fügt daten zusammen getrennt durch ein leerzeichen $alledaten= $dateneins . " " . $datenzwei; //schreibt die Daten in textfile $datei = fopen("daten.txt","w+"); rewind($datei); fwrite($datei, $alledaten); fclose($datei); //wenn form nicht benutzt (das kommt nach den else) }else{ ?> <form action="index.php" method="post"> <p>Vorname:<br><input name="dateneins" type="text" size="30" maxlength="30"></p> <p>Zuname:<br><input name="datenzwei" type="text" size="30" maxlength="40"></p> <p><input name="submit" type="button"></p> </form> <?php //das mit dem prüfen entgültig schließen } ?> </body> </html>
Beitrag zuletzt geändert: 27.1.2011 10:25:14 von das-dorf -
Aktuell hast du aber noch ein kleines Problem. Das Trennen der 2 Daten mittels Leerzeichen ist zwar im Allgemeinen okay, aber sobald ein Benutzer ein Datum mit Leerzeichen eingibt kannst du später anhand deiner Textdatei nicht mehr Rekonstruieren was jetzt Datum 1 und was Datum 2 ist.
Daher war deine Idee mit einer Leerzeile denke ich schon etwas besser. ( Das scheitert natürlich auch sobald du zur Eingabe deiner Informationen eine Textarea nutzt und somit auch Zeilenumbrüche zulässt.
Das kannst du realisieren indem du aus
$alledaten= $daten1 . " " . $daten2;
folgendes machst:
$alledaten= $daten1 . "\r\n" . $daten2;
In meinem Beispiel wird keine Leerzeile gelassen, sondern nur die Information in die nächste Zeile geschrieben. Wenn du jetzt noch eine Leerzeile haben möchtest brauchst du nur noch einmal
einfügen.\r\n
Und das rewind sollte an dieser Stelle auch nicht benötigt werden. (Ich habe es noch nie benutzt^^) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage