MySQL Datensätze einfügen per PHP

hast du das ganze auf bplaced liegen?
wenn ja wär nen link dazu vllt nich schlecht…
[b]
argh…

du hast bei deinem formular method="post" vergessen![/b]

füg das hinzu und dann sollts gehn :wink:

o.0

Das kanns ja net sein ^^ Naja, die kleinsten Dinge können verheerend wirken :stuck_out_tongue: Danke für den Hinweis :smiley: Werd das ganze mal testen, denke dann sollte es funzen :slight_smile:

EDIT 2:
Okee funzt :smiley:

Wie geil, das motiviert :slight_smile:

Dank euch vielmals für die Hilfe, bin euch echt was schuldig :smiley:

EDIT3:

Lol … nun es funzt, hab schon mal einen ersten “testdurchlauf” gemacht, jetzt bekomm ich aber in der DB die Umlaute (ö.ä.ü) nur als ö dargestellt … wie kann ich das beheben bzw. “umkodieren”? Danke schon im Voraus!

mit den kodierungen kenn ich mich nich so aus
aber du könntest die umlaute durch die html codes ersetzen
ä --> ä
ö --> ö
etc…

das machst du mit str_replace()

edit: sry, nehm einfach htmlentities()

Hey dank dir, werds gleich probieren … Echt super wie das hier läuft :slight_smile: Danke euch allen vielmals, wirklich!! :sun:

EDIT:

Hmm … scheint, als bräuchte ich das gar net :slight_smile: Beim Auslesen der bereits eingefügten Daten werden die Umlaute richtig ausgegeben :slight_smile:
Aber dank dir trotzdem vielmals für die Hilfe :slight_smile:

für sowas ist htmlspecialchars() besser geeignet…frag mich aber nicht warum :ps: (hatte bis jetzt nur Probleme mit htmletinities)

Wie in meine editierten Post zu entnehmen ist, brauchts das anscheinend gar net :smiley: Auch gut :stuck_out_tongue:

@michi7x7: :ps:

@steve:
naja ich würds trotzdem hernehmen, ua weil das einen valideren code ergibt…(soweit ich weiß müssen in den strict varianten umlaute „formatiert“ werden)

Es macht einen Unterschied, wenn du verschiedene Zeichencodierungen verwendest…mit ä,ö,ü hast du ein Problem, wenn du eine UTF8-DB verwendest, aber ISO-8859-1 ausgibst :wink:

Ich wuerde es lassen, weil es unsinnigeren Code ergibt.

Nein, Quatsch.

Aber die Zeichenkodierung muss die Sonderzeichen abbilden koennen, und beim Ausliefern der Seite sollte diese dem Browser auch bekannt gemacht werden (HTTP Content-Type Header, Meta-Tag).

Nun ja, bis jetzt klappts eigentlich ohne Probleme. Mal schaun :slight_smile: Dank euch aber vielmals für die Hilfe, ihr seid echt super :slight_smile:

Also, alles scheint zu funktionieren (das überprüfen auf leere Inhalte etc. habe ich noch nicht gemacht, die Funktionsweise an sich funktioniert und das ist eigentlich das, was ich wollte, das andere ist weniger schwierig).

Jetzt bekomme ich aber als Ausgabe von der MySQL Datenbank die Umlaute, allerdings ist im Code nicht ä sonder direkt ä. Habe dann mit html_entities() etc. versucht, die Daten umzuconvertieren, dann bekomm ich aber wieder diese komischen Zeichen (ö) als Ausgabe (so sind die Zeichen aber auch in der DB gespeichert …).

Gibt es jetzt eine mögliche Funktion, mit der ich diese Zeichencodierung umkonvertieren kann? Hab über google schon gesucht aber irgendwie war da das passende nicht dabei …

Dank euch für die Hilfe!

Ja - ist doch schoen, oder?
Wo liegt denn das Problem?

Das ist ein in UTF-8 mit zwei Bytes kodiertes Zeichen, allerdings in ISO-8859-1 o.ae. dargestellt.

„Umkonvertieren“ waere eher unsinnig.

Man sollte darauf achten, dass man ueberall die gleiche Zeichenkodierung verwendet [ul][li]Scripte in UTF-8 abspeichern (ohne BOM),[/li]
[li]Ressource als UTF-8 ausliefern (HTTP Content-Type Header)[/li]
[li]analoge Angabe im Meta-Element[/li]
[li]Verbindung zur Datenbank auf UTF-8 einstellen (SET NAMES)[/li]
[li]Tabellen und Tabellenfelder in DB mit einer UTF-8-Kollation versehen[/li]
[li](… an sonstigen Stellen, wie die Kodierung noch eine Rolle spielen koennte, diese ebenfalls explizit angeben/einstellen)[/li][/ul]

Ich meinte nur von der Sauberkeit des späteren Quellcodes, da ich mit die Umlaute einfach als ü oder wie auch immer halt haben möchte … Sehe jetzt nicht, was daran unsinnig sein soll? Will schliesslich nur sauberen Code haben …

Übrigens sind die Einstellungen überall auf UTF-8 eingestellt …

htmlentities kann auch utf-8 umwandeln.

echo htmlentities($text, ENT_QUOTES, 'UTF-8');

Das setzt aber voraus, dass es fehlerfreies utf-8 ist (sonst wird einfach nur der Wert false zurückgegeben)

Was soll daran sauberer sein, an einer Stelle, wo ein ‚ü‘ gemeint ist, statt eines ‚ü‘ ‚ü‘ im Code stehen zu haben?

Weil manche Browser ein ü möglicherweise falsch interpretieren?
Oder hat sich das mit der Deklaration im meta-tag (utf-8) erledigt und das wird gar net mehr gebraucht oder wie ist das genau?

Dachte nur, es könne evtl. Probleme geben, wenn anstatt der ü ein ü im Quelltext steht …

Danke für die Tips und Gruss

Nein, nicht wenn du es richtig machst.
Browser, die UTF-8 nicht verstehen, sind in der Praxis absolut ausgestorben.

Nein - aber dazu schrieb ich bereits etwas (HTTP-Header).

[quote=“stevereeno”]Weil manche Browser ein ü möglicherweise falsch interpretieren?
[/quote]
Doch, das ist so. Firefox 3 zeigt dir eine Raute mit ?-Zeichen an, wenn du ‘ü’ schreibst, und im meta UTF-8 steht! ä,ö,ü,ß sind Zeichen, die nicht zum Standartzechensatz gehören, da sie in der englischen Sprache nicht vorhanden sind. Dann sollte man diese Zeichen auch entsprechend behandeln!

Das ist genauso wie die ewige Diskussion über Tabellen für Navigationen…

Nur, wenn du ihn anluegst - also behauptest, der Inhalt liege UTF-8-kodiert vor, tut es aber nicht.

Von welchem Standard redest du?
UTF-8 ist ein Standard, und zwar der, dem die Zukunft gehoert.
Mit Englisch oder nicht hat das nichts zu tun.

Nein, sollte man nicht.
Auch das W3C empfiehlt, eine Kodierung zu verwenden, die alle benoetigten Zeichen abbilden kann - anstatt zu HTML-Entities o.ae. zu greifen, wenn diese nicht notwendig sind.

Stimmt, auch bei dem Thema muss man sich oft mit Leuten auseinandersetzen, die Mitreden wollen, ohne ein halbwegs fundiertes Hintergrundwissen zur Thematik zu haben.