Textfeld lang, Text (255) funktioniert nicht richtig

Alles, was nicht in die anderen Foren passt, kannst du hier loswerden.
Antworten
taba
Beiträge: 26
Registriert: 13. Okt 2009, 14:18

Textfeld lang, Text (255) funktioniert nicht richtig

Beitrag von taba »

Hallo,

dieser Eintrag bezieht sich noch auf die Admidio-Version 2.09. Man kann dort ja ein Feld Text (255) anlegen. Was beim Text (50) noch funktioniert - nämlich, dass nach der Eingabe von 50 Zeichen man nicht weiterschreiben kann, funktioniert beim Text (255) leider nicht. Man kann einfach weiterschreiben, aber das Geschriebene wird nach dem Speichern nach 255 Zeichen abgeschnitten.

Ich möchte nur ungern auf die neue Version wechseln, weil eine Reihe von Anpassungen händisch vorgenommen wurden. Habt Ihr vielleicht eine Idee, an welcher Stelle ich da was ändern müsste, damit beim Text (255) man nicht mehr als 255 Zeichen in das Feld reinschreiben kann?

Danke und Gruß
Taba
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

Hallo Taba,

diese Funktinalität ist auch in der neuen Version nicht vorhanden. Die Angabe der maximalen Zeichen bei dieser Art von Feld bezieht sich auf die Daten, die tatsächlich in der Datenbank gespeichert werden.

Das Problem ist, dass das Formularfeld eine <textarea> ist. Für diese gibt es kein Attribut, um die maximale Länge zu begrenzen (so wie es bei den einfachen Textfelder funktioniert, aber die sind vom Typ <input> ).

Deine einzige Möglichkeit wäre eine Javascript-Lösung, die das Feld überwacht. Da müsstest Du aber selbst mal schauen...

Gruss,
Matze
ise
Beiträge: 119
Registriert: 11. Sep 2009, 11:08
Wohnort: Schweiz

Beitrag von ise »

Ich hab beim Suchen diesen Thread aufgegriffen.
Da ich im Profil ein neues Feld "Über Mich" habe, suche ich nach einer Lösung, ein längeres Feld abzuspeichern, als 255 Zeichen. Gibts da bereits eine Lösung oder ist da was in Planung?
Das neue Feld im Profile sollte ein Textfeld sein, worin alle einen kurzen Text über sich selber schreiben können.
Wäre super, sofern es da eine einfache Lösung gäbe. Momentan schneidet es den Text nach 255 Zeichen einfach ab.

Gruss
Ise
Benutzeravatar
fasse
Administrator
Beiträge: 6228
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hallo Ise,

das Problem ist hier die Datenbank. Wir können hier nur mit einem VARCHAR-Feld arbeiten und dieses lässt bis einschließlich MySQL 4.1 nur max. 255 Zeichen zu. Solange wir also die DB-Versionen noch unterstützen, können wir das Feld nicht einfach größer machen.

Gruß
Fasse
ise
Beiträge: 119
Registriert: 11. Sep 2009, 11:08
Wohnort: Schweiz

Beitrag von ise »

Hmmm. schade. Gibts denn da eine Möglichkeit beim Profil ein Feld einzubauen, das als Textfeld gewertet wird? Oder müsste man dafür fest eine textarea einbauen und dieses auf eine eigene Tabelle mit Textfeldern verweisen?

Wäre es dann mit der neueren MySQL Version machbar, ein Textfeld einzubauen? Könnte man dies nicht einbauen, sofern diese neue Version verwendet wird? Ihr lest ja die Version aus und gibt sie bei den Systemeinstellungen aus. So hat man ja diesen wert und kann sagen sofern es eine ältere Version ist, steht die Textarea nicht zur Auswahl, ansonsten schon.

Gruss
Ise
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

Hallo Ise,

eigentlich ist es ganz einfach: Wenn Deine Datenbank auf einem MySQL Server mit einer Version 5 liegt, unterstützt der Datentyp VARCHAR bis zu 65.535 Zeichen. Das dürfte für eine Beschreibung genügen.

Du könntest also als temporäre Lösung auf die Datenbank gehen und in der Tabelle adm_user_data die Feldlänge von usd_value auf die von Dir benötigte Zeichenanzahl hochschrauben. Damit werden die Eingaben im Textfeld nicht mehr abgeschnitten, weil ja die Datenbank mehr als 255 Zeichen verarbeiten kann (und nur dort existiert derzeit eine Begrenzung !).

Das sollte m.E. keinerlei Probleme mit sich ziehen.

Gruss,
Matze
ise
Beiträge: 119
Registriert: 11. Sep 2009, 11:08
Wohnort: Schweiz

Beitrag von ise »

Hey Matze. Danke für deinen Tip. Hat funktioniert!
Grossartig :lol:

Gruss
Ise
magnet
Beiträge: 222
Registriert: 14. Feb 2012, 15:40

Re:

Beitrag von magnet »

matzman2000 hat geschrieben: Du könntest also als temporäre Lösung auf die Datenbank gehen und in der Tabelle adm_user_data die Feldlänge von usd_value auf die von Dir benötigte Zeichenanzahl hochschrauben. Damit werden die Eingaben im Textfeld nicht mehr abgeschnitten, weil ja die Datenbank mehr als 255 Zeichen verarbeiten kann (und nur dort existiert derzeit eine Begrenzung !).
Moin!

Läuft man mit dieser Lösung irgendwie in die Gefahr, dass bei einem zukünftigen Durchlauf eines Admidio-Updates die Feldlänge in der Datenbank wieder gestutzt wird und dadurch Daten verloren gehen?

Grüße,
Magnet
magnet
Beiträge: 222
Registriert: 14. Feb 2012, 15:40

Re: Textfeld lang, Text (255) funktioniert nicht richtig

Beitrag von magnet »

Ich musste bei mir übrings noch in der adm_program/modules/profile/profile_new.php im Javascript Zeile 241 das Zeichenlimit (max_chars) anpassen, sonst ließen sich längere Daten nicht eintragen.

Grüße,
magnet
Antworten