In einem Textfeld sollte HTML-Code eigentlich nicht geparst werden [...]
...
Falsch. In einer <textarea> befinden sich geparste Zeichendaten, wie beispielsweise auch im <title> Tag. Obwohl HTML darin nicht erlaubt ist müssen die Sonderzeichen &, <, >, " und ' maskiert werden (&, <, >, " und '. Vor allem '</' ist dabei gefährlich. Aber ja, htmlentities() oder htmlspecialchars() sorgt für Abhilfe.
Weitere Anmerkung:
file_get_contents() gibt es erst ab PHP 4.3 und
file_put_contents() erst ab PHP 5.
Glaube aber, dass es für PHP 4 eine PEAR Klasse gibt die letztere Funktion emuliert (Wo hatte ich das nur gelesen, glaube hier im Forum x.x).
hab mir das alles mal bisher so zusammengebastelt, lediglich eine sache ist mir noch unklar. bei <form action="textedit.php"> wird der inhalt des textfelds diese datei weitergeleitet (zum parsen), jedoch will ich nicht das da irgendwas geparst wird. ich will das der inhalt des textfelds genauso wie er ist in die textdatei (index_news.txt) geschrieben wird, und wenn notwendig, sollte der inhalt der textdatei überschrieben werden.
thx alot
A2k
--
The problem with America is stupidity.
I'm not saying there should be a capital punishment for stupidity, but why don't we just take the safety labels off of everything and let the problem solve itself?
----
Arguing with the moderators is like shaking your fist at God. There's nobody there; and if there is, he's not listening. And if he's listening, all you're doing is pissing him off.
hab mir das alles mal bisher so zusammengebastelt, lediglich eine sache ist mir noch unklar. bei <form action="textedit.php"> wird der inhalt des textfelds diese datei weitergeleitet (zum parsen), jedoch will ich nicht das da irgendwas geparst wird. ich will das der inhalt des textfelds genauso wie er ist in die textdatei (index_news.txt) geschrieben wird, und wenn notwendig, sollte der inhalt der textdatei überschrieben werden.
thx alot
A2k
...
Was genau meinst du mit "das wird weitergeleitet zum parsen"? Wenn du im Script nichts tust als das ganze zu speichern wird auch nichts "geparst".
ich hab da ein bisschen umständlich ausgedrückt. hier ist mal alles was ich bisher so alles am ursprünglichen code gedreht hab:
Mein Problem ist jetzt diese Zeile
Der Inhalt des Textfeldes wird an die Datei Textedit.php geposted, welche normalerweise einen PHP Code zum parsen beinhaltet. Da ich aber keine solche Datei erstellt habe, kann er den Post-Befehl nicht ausführen, ergo wird nichts in die Textdatei geschrieben.
Also bleibt mir nur die Frage, wenn ich die Textedit.php Datei erstellt habe, was ich da reinschreiben muss damit der Inhalt des Textfelds genauso in der Textdatei gespeichert wird wie er ist?
Ich hoffe das ist jetzt ein bisschen verständlicher.
Thx,
A2k
--
The problem with America is stupidity.
I'm not saying there should be a capital punishment for stupidity, but why don't we just take the safety labels off of everything and let the problem solve itself?
----
Arguing with the moderators is like shaking your fist at God. There's nobody there; and if there is, he's not listening. And if he's listening, all you're doing is pissing him off.
Irgendwie hab ich das Gefühl, dass du nicht ganz verstanden hast, was der bewirkt. Das ist nicht gut. o.o
...
Da hast du absolut recht
Hab jetzt den file_put_contents und file_get_contentsCode mal in meinem PHP Buch nachgeschlagen und langsam krieg ich ne Vorstellung davon was eigentlich los ist
Aber dann erlaub mir noch schnell ne N00B Frage: Wofür brauch ich dann den <form action="textedit.php"> Tag und was soll dann der Verweis auf diese Datei?
Sorry für derartige Fragen, aber irgendwie hab ich grad nen Knoten im Hirn.
--
The problem with America is stupidity.
I'm not saying there should be a capital punishment for stupidity, but why don't we just take the safety labels off of everything and let the problem solve itself?
----
Arguing with the moderators is like shaking your fist at God. There's nobody there; and if there is, he's not listening. And if he's listening, all you're doing is pissing him off.
Hab jetzt den file_put_contents und file_get_contentsCode mal in meinem PHP Buch nachgeschlagen und langsam krieg ich ne Vorstellung davon was eigentlich los ist
...
Gut so.
Zitat
Aber dann erlaub mir noch schnell ne N00B Frage: Wofür brauch ich dann den <form action="textedit.php"> Tag und was soll dann der Verweis auf diese Datei?
...
Mit FORM erstellt man ein HTML-Formular, eine Ansammlung von Informationen, die an ein Skript o.a. geschickt werden kann. Das ACTION-Attribut gibt an, wohin die Informationen geschickt werden sollen. In deinem Fall müssen sie an das Script, welches sie in die Datei schreibt geschickt werden. Also das Script mit dem file_put_contents().
Das einzige was mir jetzt also zum Einzug in den PHP Himmel feht ist eine lauffähige Textedit.php Datei.
Hab mir deine Vorgabe mal kurz angesehen und sie in die Datei eingebunden. Herausgekommen ist das und die Tatsache dass es nicht geht
Variablen müsste ich noch definieren, aber handelt es sich jetzt um die textdatei oder um die datei selber...? Werd aus dem Script echt nicht schlau... (was daran liegt dass ich erst vor ner stunde ausm bett bin " ).
Sorry für die schwere Geburt,
A2k
--
The problem with America is stupidity.
I'm not saying there should be a capital punishment for stupidity, but why don't we just take the safety labels off of everything and let the problem solve itself?
----
Arguing with the moderators is like shaking your fist at God. There's nobody there; and if there is, he's not listening. And if he's listening, all you're doing is pissing him off.
Du brauchst nicht unbedingt eine eigene Textedit.php-Datei. Wenn deine ursprüngliche Datei so aussieht wie du's hier beschrieben hast, dann genügt es, ins form-Tag als Aktion die Datei selbst reinzuschreiben. Also wenn die Datei mit dem Textfeld z.B. "index.php" heißt, schreibst du das Form-Tag so: <form method="post" action="index.php" name="source_edit" id="formular">
Dadurch wird dann die Seite nochmal aufgerufen, und zwar mit den Daten aus dem Textfeld in der $_POST['text']-Variablen. Am Anfang der PHP-Datei wird dann überprüft, ob diese Variable vorhanden ist. Da's sie's ist, wird ihr Inhalt in die Datei "index_news.txt" gespeichert.
Ich hoffe, jetzt ist's verständlich. ^^
Den Code, den du für die "textedit.php"-Datei nehmen wolltest bewirkt etwas völlig anderes, er ist nämlich nur dazu da, die Funktion "file_put_contents ()" zu definieren (nicht auszuführen), falls sie nicht vorhanden ist. Das müsstest du (ohne das "echo ..." am Ende)in eine zusätzliche PHP-Datei schreiben und diese dann per include () in die Haupt-Datei einfügen, falls du eine ältere PHP-Version benutzt. Aber probier's erstmal ohne. ^^''
--
A human is a system for converting dust billions of years ago into dust billions of years from now via a roundabout process which involves checking email a lot.