tino: textarea Enter/Return FEHLER

Eingabe in die eingabefelder:

name: tino
Email: email
textarea: zeile 1
          zeile 2
          zeile 3
          zeile 4 der textarea

ausgabe:

zeile 4 der textarea
tino email 07.09.2004 09:32:38

zeile 3

zeile 2

zeile 1

es wird so ausgegeben, das 4 ausgaben entstehen.
erste ausgebe ist : zeile 1`; zweite : zeile 2 ... letzte ausgabe : zeile 4... mit name email und zeit.

was muss ich ändern um den ausgabefehler zu unterbinden?
das auslesen der dadei? das schreiben in die datei?

schreiben und lesen wurden mit php gemacht.

danke für die hilfe.

  1. Hi,

    schreiben und lesen wurden mit php gemacht.

    und zwar offenbar falsch. Wieso glaubst Du, es sei ein HTML-Problem?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. :-)

      wenn ich das drücken von enter/return in htlm verhindern könnte, würde es ja gehn.

      dafür müsse ich den den ASCII code für enter wissen und den befehl (fals es solche gibt ) un die taste im eingabenfeld zu deaktivieren.

      denn würde es in html gehn :-) an sonsten ist es wohl ein php problem :-)

      danke

      1. Hi,

        wenn ich das drücken von enter/return in htlm verhindern könnte, würde es ja gehn.

        abgesehen davon, dass das nicht geht, ist es niemals empfehlenswert, an Symptomen herumzudoktorn. Suche die Ursache des Problems und behebe sie.

        dafür müsse ich den den ASCII code für enter wissen und den befehl (fals es solche gibt ) un die taste im eingabenfeld zu deaktivieren.

        Diese Frage stellt sich schon deshalb nicht, weil es in HTML keine Befehle gibt.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Dankefür die tips, werde gleich mal was versuchen.
          dankeschön

      2. wenn ich das drücken von enter/return in htlm verhindern könnte, würde es ja gehn.

        Wie dir schon gesagt wurde, gaaanz ekelig.

        dafür müsse ich den den ASCII code für enter wissen und den befehl (fals es solche gibt ) un die taste im eingabenfeld zu deaktivieren.

        Nun, dann mach doch mal ein onKeyDown="alert(window.event.key)" (nur im IE) in die textarea und drück Enter, dann wirst du sehen, dass Enter den KeyCode 13 hat. Dann kannst du onKeyDown auch in "if (window.event.key) return false;" umwandeln und es sollte gehen.

        denn würde es in html gehn :-) an sonsten ist es wohl ein php problem :-)

        Ist es höchstwahrscheinlich. Doppelte Zeilenumbrüche können aber auch an DOS<->Unix Formatkonvertierung hängen. DOS benutzt 13 10 (\r\n) als Zeilenumbruch, während Unix normalerweise nur die 10 (\n) nimmt und die 13 ebenfalls als kompletten Zeilenumbruch ansieht. Beim Konvertieren können dann daraus leicht zwei Zeilenumbrüche werden.
        Versuch mal in PHP str_replace("\r\n","\n",$var) um zu schauen, ob es daran liegt.

        Der Yeti

        --
        Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
        Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
        Und bin so klug als wie zuvor!
        sh:( fo:| ch:? rl:? br:  n4:& ie:( mo:| va:| de:[ zu:) fl:| ss:) ls:< js:|
        http://community.de.selfhtml.org/fanprojekte/selfcode.htm
  2. Hello,

    beschäftige dich mit den Techniken für das Speichern in Flatfiles.
    PHP kennt von Haus aus keine Unterstützung für feste Satzstrukturen in Flatfiles. Allerdings kann man sich diese Dinge auch selber bauen.

    Überlege einmal, wie die Daten aus dem Browsaer wohl bei PHP ankommen.

    Du scheinst in einer Textdatei mit variabler Satzlänge zu speichern. Da werden die Datensätze durch CRLF oder durch LF oder durch CR abgeschlossen, je nach Betriebssystem des Servers.

    Das bedeutet aber auch, das in den Datensätzen diese Zeichen nicht in den Daten vorkommen dürfen oder aber maskiert oder "delimited" werden müssen.

    Genauso verhält es sich mit den Feldtrennzeichen.

    Gehe also folgendermaßen vor:

    Lege ein Feldtrennzeichen fest. Ich empfehle Dir dafür chr(4)
    Lege ein Zeilenschaltungszeichen fest. Ich empfehle Dir dafür chr(127)
    Wenn die Daten eintrudeln, ersetze alle eventuell vorhandenen chr(4) und chr(127) gegen
      ein neutrales Zeichen, z.B. Leerzeichen oder kein Zeichen
      Es dürften diese Zeichen aber gar nicht vorkommen, nur sollte man sich niemals suf den
      Konjunktiv verlassen *gg*
    Dann tausche als nächstes in allen Feldern (besonders in den Textareas) die (CRLF|CR|LF) gegen
      das Zeilenschaltzeichen aus.
    Dann verbinde Dein Datenarray mittels implode und dem Feldtrennzeichen zu einem String
    Und nun kannst Du den Datensatz abspeichern in einer Textdatei. Vergiss aber das
      Zeilenendezeichen nicht hinten dranzuhängen

    Zum Anzeigen gehst Du den Weg einfach rückwärts. Da bei der Ersetzung von (CRLF|CR|LF)
      Informationen verloren gegangen sein können, nimmst Du zur Rückersetzung einfach CRLF.
      Das ist erlaubt.

    Viel Erfolg

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau