Textarea ind Datenbank einfügen
Heiz
- php
Hallo alle zusammen,
ich versuche schon seit Stunden folgendes hin zu bekommen
ich habe eine Textare wo der User beliebig viele Email Adressen eintragen kann. Dies Adressen sollen in einer SQL Datenbank gespeichert werden allerdings sollen dies Einträge nicht alle in einer Zeile gespeichert werden. Jede Email Adresse soll in einer Datenbank Zeile geschrieben werden .
Wie geht das?
Vielen Dank schon mal
Heiz
Das müsste eigentlich mit explode() gehen, wobei als Separator das Komma benutzt wird. So entsteht ein Array, das dann mit einer Schleife durchlaufen werden kann!
Hello,
Das müsste eigentlich mit explode() gehen, wobei als Separator das Komma benutzt wird. So entsteht ein Array, das dann mit einer Schleife durchlaufen werden kann!
Das ist sicher möglich, aber nicht ergonomisch für denjenigen, der die Eingaben macht.
Es liest sich besser, wenn man eine Zeile pro Eintrag vorgibt.
Der Eintrag könnte später auch mit einem einzigen Multi-Insert stattfinden, nachdem man alle Prüfungen vorgenommen hat. Man sollte dabei nicht veräumen, jedesmal die ID einzustanzen, zu der die eMailnamen gehören sollen :-)
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hi Heiz!
Wie geht das?
Indem du jede Emailadresse in eine neue Zeile schreibst.
Wozu brauchst du diese Emailadressen?
MfG H☼psel
Hello,
ich versuche schon seit Stunden folgendes hin zu bekommen
ich habe eine Textare wo der User beliebig viele Email Adressen eintragen kann. Dies Adressen sollen in einer SQL Datenbank gespeichert werden allerdings sollen dies Einträge nicht alle in einer Zeile gespeichert werden. Jede Email Adresse soll in einer Datenbank Zeile geschrieben werden .
Wie geht das?
Wenn Du auf die Textarea bestehst zur Eingabe und der User sich an die Regel hält "nur einen Email-Namen[1] pro Zeile", dann kannst Du die Textarea einfach mit explode() zerlegen.
http://de.php.net/manual/de/function.explode.php
Du erhältst dann ein Array der Zeilen. Jede Zeile _musst_ Du kontrollieren auf vorgeschriebene Syntax, dann mittels der zum DBMS passenden Funktion vorbehandeln (escapen) und dann kannst Du sie abspeichern. Bsp. für MySQL:
http://de.php.net/manual/de/function.mysql-real-escape-string.php
Die einfachste Prüfung eines eMailnamens ist, einfach festzustellen, ob genau ein @ enthalten ist, dass weder an erster noch an letzter Stelle stehen darf. Das geht mit strpos()
http://de.php.net/manual/de/function.strpos.php und
http://de.php.net/manual/de/function.substr-count.php
Bevor Du die Textarea auswertest, musst Du ggf. noch die Magic Quotes wieder rückgängig machen. Siehe hierzu get_magic_quotes_gpc()
http://de.php.net/manual/de/function.get-magic-quotes-gpc.php
[1] Email-Angaben sind Namen, und keine Adressen, denn sie wandern mit dem Objekt.
Die IP zum momentanen Ort des Postoffice ist hingegen eine Adresse
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom