History von Textfeld?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • History von Textfeld?

    Hallo,

    ich habe folgendes Problem. Der Benutzer gibt in ein Textfeld ein Kommando ein. Aus diesem Textfeld sollen die letzten 10 Kommandos dauerhaft gespeichert werden, dass der Benutzer diese wieder schnell aufrufen kann.

    Wie kann ich dies am besten lösen? Ich hab es versucht es in eine Text-Datei schreiben, komme damit aber nicht so ganz klar, weil ich ja nicht alle, sondern nur die 10 letzten speichern will.

    Habt ihr Ideen wie ich das am Besten lösen kann?

    Außerdem würd ich noch gerne wissen, wie ich es am Besten löse, ob er das Kommando aus dem Auswahlmenü oder dem aktuell eingegeben Kommando übernehmen soll. Habt ihr da Ideen?

    Danke.

  • #2
    - speichere die kommandos in einer txt-datei
    - lese txt-datei in array
    - array_reverse()
    - zeige kommandos mittels schleife

    wenn neues kommando
    - lese txt-datei in array
    - lösche kommando[0]
    - hänge neues komando am ende an zB array_push()
    - schreibe txt-datei

    kannst natürlich auch das ganze als string in einer var mitführen
    (hidden-field) und dann statt txt-datei schreiben/lesen mit
    implode/explode arbeiten:
    $kommandos = "1|2|3..."


    zum 2. Teil: nimm ne normale bedingung und leg eine regel fest,
    was wen toppt, wenn der user gleichzeitig ein kommando eingibt
    und ein altes auswählt.
    Kissolino.com

    Kommentar


    • #3
      Ok, Danke.
      Die Variable geht mir halt verloren, wenn der Benutzer das Fenster schließt, deswegen wollt ich das mit ner Textdatei machen.

      Werd das Freitag mal versuchen. Danke!

      Kommentar


      • #4
        Noch eine weitere Möglichkeit - falls benötigt: In einem solchen Falle wäre die Anwendung eines Cookies sicherlich nicht uninteressant. Es handelt sich ja unmittelbar um Benutzerdaten. Eine Textdatei hat einen Nachteil: Du müsstest prüfen ob Sie noch benötigt wird (timestamp) - falls nicht, wäre dann eine Löschung fällig. Andernfalls würde dein Webspace langsam aber sicher "zugemüllt werden".
        Eventuelle Tippfehler bei PHP-Beispielen können durchaus vorkommen, aber es geht um die grundsätzliche Möglichkeit der Anwendung.

        Es war einmal ein Benutzer, der hatte ein Problem mit ... PHP (http://de3.php.net/manual/de/) MySQL (http://dev.mysql.com/doc/mysql/de/) HTML (http://www.selfhtml.org/)

        Wer suchet, der findet: http://www.php-resource.de/forum/search.php
        Immer noch nichts? Dann frag!


        Mit freundlichen Grüßen,
        @4u

        Kommentar


        • #5
          Ich hab das mit ins Textfeld schreiben schon versucht, aber wie bekomm ich die Leerzeilen raus?
          Wenn ich die Sacheneinles, und dann mit chr. 13 und chr.10 als Umbruch zusätzlich reinschreib hab ich immer ne leere Zeile.

          Mit trim und chop habe ich es auch schon versucht, hat aber leider nichts bewirkt

          Kommentar


          • #6
            Ok, das funktioniert soweit.
            Aber jetzt habe ich noch was.

            Wie mache ich es, dass Kommandos nicht doppelt gespeichert werden? Ich habe mir gedacht, ich prüfe mit einer Vorschleife durch, ob der String = irgendeiner der 10 gespeicherten Kommandos ist. Ist dies der Fall soll eine Triggervariable auf 1 gesetzt werden.

            Das Speichern in die Textdatei soll also nur ausgeführt werden wenn die Triggervariable ungleich 1 ist. Aber leider funktioniert das irgendwie nicht so richtig

            Kommentar


            • #7
              wie wärs zB mit: in_array() oder etwas code deinerseits
              Kissolino.com

              Kommentar


              • #8
                Original geschrieben von Wurzel
                wie wärs zB mit: in_array() oder etwas code deinerseits
                Hallo,

                vielen Dank. Hab mir eben mal im PHP Manual den Befehl in_array angeschaut und ich denke, das ist genau passend.

                Code kann ich leider keinen liefern, der liegt auf der Arbeit, und von da aus hab ich leider keinen iNet Zugang. Wenn es aber nicht klappen sollte, melde ich mich trotzdem nochmal.

                Danke.

                Kommentar

                Lädt...
                X