Uploade-Script

Hallo Forengemeinde,
ich bin mir nicht so sicher, ob das mit PHP oder Javascript zu realisiere ist. Deswegen bitte verschieben, wenns falsch ist.

Also…Ich suche eine Möglichkeit, den Inhalt einer Homepage über ein Formular (so wie hier im Forum den Antwort Text) reinsschreiben kann, und das dann auf der HP geändert wird.
Also meine Idee war, das über ein Include zu regeln. Aber wie änder ich das Include? Kann mir hier jemand helfen??

Danke!!!

joa eine datei die du per include einbindest und welche du auch mittels den entsprechenden funktionen bearbeiten kannst

und wie mach ich das dann mit dem bearbeiten??? Oder wärs einfacher über DB?? Wär zwar schöner über PHP, aber hab keinen Plan wie ich nen Template/Include bearbeiten kann!? :?:

wie willst du es mit datenbanken ohne php lösen ?

nein so mein ich das nicht… bei einer Datenbank wüsste ich in etwa wie das geht, aber würd es gern ohne machen.
Vll hast du ja ne idee, wie ich eine inckude per textbox bearbeiten kann… ich geh jetz pennen…bis morgen

php.net/file_put_contents
php.net/file_get_contents

generell geht das so:

adminteil:

  1. zuerst mal eine definierte textdatei auslesen (z.b. ausgabe.txt) das geht z.b. mit dem file() befehl

  2. du erstellst dir ein formular mit einem eingabefeld (textfeld) und schreibst dort deinen ausgelesenen text als vorgabewert hinein, editierst eventuell und schickst dein formular dann ab.

  3. den text speicherst du wieder in deiner datei (z.b. ausgabe.txt). funktion fwrite()
    ob du den neuen text hinten an die textdatei anhängst oder ob du die datei komplett überschreibst kannst du durch parameter in der funktion fwrite steuern.

anzeigeteil:
in deiner index.php (oder wie deine seite halt heisst) wird wieder die datei ausgabe.txt ausgelesen und per echo an den browser gesand.

include NIEMALS eine reine textdatei. sollte jemand irgendwie zugriff darauf bekommen, kann man code einschleusen und die komplette herrschaft über deine domain erlangen. leis deine textdatei also immer aus und prüfe das ganze auf den inhalt. das gibst du dann als echo auf den bildschirm.

???

So ich habe jetzt alles hinbekommen, aber trotzdem noch ein Problem. Wenn ich die änderungen speichern will, führe ich das script eingabe.php aus. Der Quelltext sieht so aus:
[PHP]

<?php $datei = 'text.txt'; $fp= fopen($datei, 'w'); fwrite($fp, '$_POST=['eingabe']'); fclose($fp); echo 'Text wurde geschrieben und gespeichert'; ?> [/PHP] Bei mir wird aber leider nicht das gespeichert, wie es gespeichert werden soll, sondern alles zurückgesetzt. Woran liegt das??

was soll das:

fwrite($fp, ‚$_POST=[‚eingabe‘]‘);

???

Also ich hab mir das so gesdacht und auch so verstanden. Ich hab in die Variable $fp die datei geladen über fopen() . und jetz wollt ch dass der die Eingabe aus der textarea mit dem namen eingabe in $fp schreibt, weil die ja geöffnet ist. Oder ist das falsch?

fwrite($fp,$_POST[‚eingabe‘]);

hmm

ok, soweit so gut. Ich weiß, ich nerv hier voll, weil das nich klappt, aber er schreibt jetz den veränderten Text in die datei text.txt . Aber leider nicht so wie es sein soll. Es wird alles gelöscht und dann steht nix mehr drin

??? warum ???

wenn deine post variable leer ist, wird eben der string NULL geschrieben.

benutze php.net/file_get_contents und php.net/file_put_contents, es ist wesentlich einfacher.