mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Sa 10.12.2016 19:43 Benutzername: Passwort: Auto-Login

Thema: [PHP] Textfelder, Datenbanken, Zeilenumbrüche, Zeichen vom 06.01.2005


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP] Textfelder, Datenbanken, Zeilenumbrüche, Zeichen
Seite: 1, 2  Weiter
Autor Nachricht
13pixelchen
Account gelöscht Threadersteller


Ort: -

Verfasst Do 06.01.2005 21:27
Titel

[PHP] Textfelder, Datenbanken, Zeilenumbrüche, Zeichen

Antworten mit Zitat Zum Seitenanfang

Hi,

Ich suche eine Website mit fortgeschrittenen-Tutorials und Tipps zu bestimmten Sachen. Konkret zum Beispiel: Wie speichere ich in einem Textfeld eingegebenen Text in einer MySQL Datenbank mitsamt den Zeilenumbrüchen ab, und wie gebe ich ihn richtig wieder aus, a) in normaler darstellung innerhalb einer website, b) erneut zum editieren in einem textfeld.

Und andere kleine Sachen, die man ständig braucht, die man autodidaktisch aber erst sehr spät erfährt. Ich habe mir PHP beigebracht, auch schon einige komplexere Scripte erstellt (daily.yourpic.net, yourpic.net etc.) aber man merkt, dass einem die richtigen Techniken zum Teil fehlen, um sauberen, schnellen und Prozessorschonenden Code zu schreiben.

Also, irgendwelche Links? Danke!
 
Account gelöscht
Threadersteller


Ort: -
Alter: -
Verfasst Do 06.01.2005 21:32
Titel

Antworten mit Zitat Zum Seitenanfang

Hier gibts ein paar grundzätzliche Infos:

http://www.php-faq.de/
 
Anzeige
Anzeige
13pixelchen
Account gelöscht Threadersteller


Ort: -

Verfasst Do 06.01.2005 21:36
Titel

Antworten mit Zitat Zum Seitenanfang

Oh, danke, das ist schonmal sehr schön!
 
mööp

Dabei seit: 29.08.2003
Ort: -
Alter: -
Geschlecht: -
Verfasst Do 06.01.2005 21:59
Titel

Antworten mit Zitat Zum Seitenanfang

Wichtig ist, dass man in den textarea Tags
Code:

style="white-space: pre"

schreibt, damit die Zeilenumbrüche mitgesendet werden. Ich benutze immer die CSS Variante, da das wrap Attribut bei manchen XHTML DTD nicht valide ist. Bei HTML 4.1 heisst es dann z.B.

Code:

wrap="physical"


Und vor dem schreiben in die DB, bearbeite ich den Text folgendermaßen
Code:

mysql_escape_string(trim(stripslashes($text)));
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
13pixelchen
Account gelöscht Threadersteller


Ort: -

Verfasst Do 06.01.2005 22:01
Titel

Antworten mit Zitat Zum Seitenanfang

Aha! Klasse. Woher soll man sowas dann auch wissen *g*
 
Account gelöscht
Threadersteller


Ort: -
Alter: -
Verfasst Do 06.01.2005 22:28
Titel

Antworten mit Zitat Zum Seitenanfang

Die CSS-Eigenschaft "white-space" hat absolut GAR NICHTS damit zu tun, ob Zeilenumbrüche mitgesendet werden oder nicht. Diese Eigenschaft bezieht sich AUSSCHLIESSLICH auf die Optik des Formulars und verhält sich genauso, als würdest du deine Formular-Elemente zwischen <pre>-Tags setzen.

Zeilenumbrüche werden IMMER mitgeschickt, denn diese gibst du genauso ein wie stinknormalen Text. Ein Zeilenumbruch ist einem Buchstaben/einer Ziffer absolut gleichwertig.


//
eigentlich finde ich's persönlich auch geiler, Sonderzeichen sofort in HTML-Entities zu verwandeln. Da neuere Browser, die HTML 4 verstehen, auch Unicode können, kann man ein »'« auch locker bspw. in ein ' ersetzen. PHP kennt dafür sogar Funktionen und Schalter: htmlentities() bzw. htmlspecialchars() mit dem Schalter "ENT_QUOTES". Bei exotischen Zeichen muss man halt nur die entspr. Kodierung noch angeben...


Zuletzt bearbeitet von am Do 06.01.2005 22:40, insgesamt 1-mal bearbeitet
 
mööp

Dabei seit: 29.08.2003
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 07.01.2005 09:06
Titel

Antworten mit Zitat Zum Seitenanfang

Muss dich enttäuschen, das white-space ist definitiv die Variante für XHTML valides Design. Zumindest für die meisten XHTML DTDs.

Vielleicht ist dir schonmal aufgefallen, dass die Browserausgabe nicht mit der Quelltextformatierung übereinstimmt.
Code:

style="white-space: pre"


...sorgt dafür, dass die Zeilenumbrüche und auch Leerzeichen so übertragen werden, wie sie in der Textarea eingegeben wurden. Genau wie das <pre> Tag, da hast du natürlich recht.

Wozu wandelst du Sonderzeichen um, wenn du mit Unicode arbeitest?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
WinstonSmith

Dabei seit: 06.01.2005
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Fr 07.01.2005 09:25
Titel

Antworten mit Zitat Zum Seitenanfang

Ahoi!

Speicher den Text aus der textarea immer genauso ab, wie du ihn über's Formular erhälst. Meiner Meinung nach, werden Zeilenumbrüche (wie Schinken bereits schrieb) immer mitgeschickt, da sie nichts anderes sind, als ein Zeichen aus der ASCII-Tabelle. Wenn du dir das Blob-Feld in der Datenbank ansiehst, dürftest du darin ebenfalls den Text mit Zeilenumbrüchen sehen. Bei mir war es jedenfalls bisher immer der Fall.

Bei der Ausgabe verwendest du den php-Befehl "nl2br()", der dir aus Zeilenumbrüchen halt die HTML "<br />" macht. Wenn du den Text über ein Formular ändern willst, dann schreib ihn einfach wie er aus der Datenbank kommt in das Feld, denn darin werden die Zeilenubrüche auch ohne br dargestellt.

Es ist früh und ich habe erst eine (!) tasse kaffee intus .... ich hoffe, man kann mein kauderwelsch verstehen :B

gruß,
winston
  View user's profile Private Nachricht senden
 
Ähnliche Themen Indesign CS5. Zeichen mehrerer Textfelder zählen?
[Formmailer PHP] Zeilenumbrüche - Ich dachte ich weiß wieso.
[PHP] Radiobuttons und Textfelder
PHP: bestimmte Zeichen aus Variable löschen
[PHP] Unicode-Text (Tschechische Zeichen)
php Problem, überflüssiges zeichen im code
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.