Notizzettel

  • Ich hab mal ne Frage. Ich möchte einen Online Notizzettel mithilfe von PHP erstellen.

    Aber irgendwie krieg ich was nicht auf die Reihe.

    Jetzt zum Problem:

    Mit !isset sage ich ja, dass wenn Variable soundso leer ist ein Formular kommt. Das wäre ein Textfeld. Dort schreibe ich meine Notizen. Jetzt will ichs abschicken. Dann ist die Variable soundso ja nicht mehr leer, deshalb solls jetzt speichern.

    Mein Problem ist aber, dass ich wohl die Notizen am Anfang auslesen kann und anzeigen kann. Aber wenn ich auf speichern klicke, dann löschts mir den vorherigen Text nicht. Es geht nicht mehr.
    Ich hab natürlich einiges ausprobiert, aber schliesslich geht nichts mehr.

    Hier mein Code: (HIER ZUR DEMONSTRATION)

    Wer hätte mir ne Lösung die geht?

  • Du begibst dich gleich auf mehreren Schlitten aufs Glatteis.

    Zunächst einmal solltes du Method POST verwenden, da sonst jeder, der die URL kennt etwas schreiben könnte und jegliche Sicherheitsabfragen des Systgems umgeht.

    Des weiteren solltest du für das Auslesen und für das Schreibe getrennte Methoden verwenden, also mit unterschiedlichen rechten.

    Mit isset überprüfst du nur , ob die Variable gesetzt ist, so wird selbst wenn der Inhalt "leer" ist true zurückgegeben, du meinst wohl eher empty() - überprüft ob die Variable mit Content gefüllt ist.

    Zur Not immer echo aller Variablen.

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  • also ich kenn mich mit php zwar nicht aus, aber is ja in anderen programmiersprachen au net anners.... (außer vom syntax)

    also je nach wunsch ob du ne neue message auf den zettel setzen magst oder die nachricht (wie bei foren oder gästebüchern unten dranhängen willst)
    kannste doch dann auch die methode entsprechend schreiben...

    einmal checkste ob der wert für deinen notizzettel gesetzt is, also ob was drin steht (kann man auch mit ner boolean-flag machen) und wenn ja löschen, wenn nein einfach so reinschreiben..

    zum anhängen:
    in java wäre es nen Stringbuffer.append() um was dranzuhängen...

    also so viel zur theorie^^

  • Also ich möchts so:

    Ich rufe die Seite auf. Dann möchte in einem Textarea die Notiz anzeigen, die ich in einer Datei (notiz.txt) gespeichert habe. Ist die Datei leer, wird auch nichts angezeigt.
    Jetzt gebe ich was ein. Nach dem Klick auf "Speichern..." wird in die Datei notiz.txt das geschrieben, was ich im Textarea geschrieben habe. Wenn ich die Seite nochmals aufrufe, wird jetzt das eingegebene angezeigt. Das heisst es wird im Textarea mein vorherig geschriebener Text angezeigt. Wenn ich jetzt zum Beispiel ein Wort daraus lösche und etwas hinzuschreibe und wieder auf Speichern geklickt habe und dann nochmal die Seite aufrufe, dann soll jetzt das neue Eingegebene angezeigt werden.

    Und zu POST/GET:
    Der Server kann nur GET lesen. Denn die POST (register_globals) Fuktion ist deaktiviert. Und dass mans nicht lesen kann, hab ichs in einem Frame versteckt. Ich weiss aber, dass mans umgehen kann. Aber das ist mir egal.

  • Hallo,

    Zitat

    Denn die POST (register_globals) Fuktion ist deaktiviert.


    Das kann nicht sein, da vermute ich einen fehler in deinem script.


    Gruß
    bandit

  • ähm, ja ... ^^ du verstehst register globals da falsch -> sieh hier

    Du kannst ja mal Post so verwenden und testen ob bei echo etwas ausgegeben wird.

    Superglobals stehen ja extra wegen dem off zur verfügung.

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  • Achso. Da wurde ich falsch informiert.

    edit: Kann ich dann für meinen Benutzerlogin doch POST verwenden?

    Also so:

    $POST_[username]

    Oder nicht?

  • Jaja POST müsste eigendlich ohne Probleme funktionieren...
    Ich hab hier auch noch eine Lösung für dein Notiz Dinge geschrieben:

    Gruß crAzywuLf :D

  • Danke...

    Funtkioniert. Könntest du mir bitte die einzelnen Befehle erklären, was PHP genau macht? Ich werd nicht so ganz schlau draus.

  • Hi,

    was verstehst du nicht? Die funktionen, die aufgerufen werden, kannst du in der doku unter http://www.php.net/manual/de/ nachsehen. Allerdings sollte man auf extract verzichten und nicht mehr $_SERVER['PHP_SELF'] benutzen.

    Gruß
    bandit

  • Zitat von bandit600

    Hi,

    was verstehst du nicht? Die funktionen, die aufgerufen werden, kannst du in der doku unter http://www.php.net/manual/de/ nachsehen. Allerdings sollte man auf extract verzichten und nicht mehr $_SERVER['PHP_SELF'] benutzen.

    Gruß
    bandit

    jaja... machs dann stell was besseres zu schau :megalacher:


    Hier hast du den Code nochmal kommentiert:

    Gruß crAzywuLf :D

  • Hi,

    ohne extract und $_SERVER['PHP_SELF']


    Gruß
    bandit

  • ? Was meinst du? Ich hab nicht gesagt, dass ich keine Änderung sehe. So wie die Codes ausschauen, müssen beide Scripts funktionieren. Ich wollte nur demonstrieren, dass beide Codes gehen. Klickt doch mal auf die Links und lest die Notiz!