AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein PHP - Fehler beim Speichern von Texten mit Sonderzeichen
Thema durchsuchen
Ansicht
Themen-Optionen

PHP - Fehler beim Speichern von Texten mit Sonderzeichen

Ein Thema von s.h.a.r.k · begonnen am 8. Jun 2005 · letzter Beitrag vom 10. Jun 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#1

PHP - Fehler beim Speichern von Texten mit Sonderzeichen

  Alt 8. Jun 2005, 20:53
Hallo!

Ich habe grad ein mehr oder weniger kleines Problem beim Speichern von Texten, in denen Sonderzeichen vorkommen: Und zwar geben ich in Form sowas hier ein
Zitat:
"Warum geht des jetzt nedda
!"§$%&/()=?`*'ÄÜÖ_:;>-.,#+´ß^^°
²³{[]}}\\~|
und das kommt dabei raus wenn ich wieder mit echo anzeigen lasse.
Zitat:
-.,#+´ß^^° ²³{[]}}\\\\~|">\"Warum geht des jetzt nedda !\"§$%&/()=?`*\'ÄÜÖ_:;>-.,#+´ß^^° ²³{[]}}\\\\~|
Wenn ich das ganz aber in eine MySQL-Tabelle eintragen will, wird nur der \ geschrieben und mehr nicht. Ich habe auch schon den folgenden Code angewandt, aber es hat sich nicht sehr viel verändert:
Code:
$contact_text = str_replace('&', '&', $contact_text);
$contact_text = str_replace('<', '&lt;', $contact_text);
$contact_text = str_replace('>', '&gt;', $contact_text);
$contact_text = str_replace('\"', '&quot;', $contact_text);
$contact_text = str_replace('"', '&quot;', $contact_text);
$contact_text = str_replace('\n', '
', $contact_text);
Da kommt dann das hier raus
Zitat:
-.,#+´ß^^° ²³{[]}}\\\\~|">"Warum geht des jetzt nedda !"§$%&/()=?`*\'ÄÜÖ_:;>-.,#+´ß^^° ²³{[]}}\\\\~|
In der MySQL-Tabelle steht nach dem Speichern immer noch \ drin und mehr nicht!

Ich hoffe einer von euch kann mir da helfen - ich werd langsam wahnsinnig mit dem S*******

mfg shark
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von S2B
S2B

Registriert seit: 1. Feb 2004
Ort: Aachen
1.268 Beiträge
 
#2

Re: PHP - Fehler beim Speichern von Texten mit Sonderzeichen

  Alt 9. Jun 2005, 16:28
Hmm, hast du schon mal versucht, den String durch php-interne Funktionen wie mysql_escape_string(), htmlspecialchars() oder htmlentities() zu jagen? Vielleicht geht es damit besser.
Die erste Funtktion ist übrigends genau für solche Fälle wie deinen da... Im Normalfall speichert man Text auch nicht als html-Code in die Datenbank.
Simon Praetorius
Gruß
S2B
  Mit Zitat antworten Zitat
Benutzerbild von Mamphil
Mamphil

Registriert seit: 17. Jul 2004
Ort: Garching b. München
149 Beiträge
 
Delphi 7 Professional
 
#3

Re: PHP - Fehler beim Speichern von Texten mit Sonderzeichen

  Alt 9. Jun 2005, 16:32
Hallo!

Bitte verwende mysql_real_escape_string statt mysql_escape_string!

Wenn Strings mit Sonderzeichen per Formular gesendet werden sollen, musst du das Ergebnis ggf. vorher mit stripslashes() "säubern".

Mamphil
The laws of physics are the canvas God laid down on which to paint his masterpiece. “Leonardo Vetra” in Dan Brown’s “Angels & Demons”
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#4

Re: PHP - Fehler beim Speichern von Texten mit Sonderzeichen

  Alt 9. Jun 2005, 16:57
Danke! Hab diese Codes leider noch nicht verwendet wusst net a mal dass es sowas gibt *schäm*
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
tail

Registriert seit: 2. Jun 2005
89 Beiträge
 
#5

Re: PHP - Fehler beim Speichern von Texten mit Sonderzeichen

  Alt 9. Jun 2005, 17:02
addslashes()
ist besser als mysql_real_escap_string()! Also benutzt lieber das.
mfg tail
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#6

Re: PHP - Fehler beim Speichern von Texten mit Sonderzeichen

  Alt 9. Jun 2005, 17:04
aha - mal ne dumme frage: Wieso?! Jeder sagt hier grad was anderes...
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
tail

Registriert seit: 2. Jun 2005
89 Beiträge
 
#7

Re: PHP - Fehler beim Speichern von Texten mit Sonderzeichen

  Alt 9. Jun 2005, 17:25
Zitat von s.h.a.r.k:
aha - mal ne dumme frage: Wieso?! Jeder sagt hier grad was anderes...
Guck dir die funktionen mal im Manuel an, bei den Beschreibungen. Daraus kann man das schon sehen!
mfg tail
  Mit Zitat antworten Zitat
Benutzerbild von S2B
S2B

Registriert seit: 1. Feb 2004
Ort: Aachen
1.268 Beiträge
 
#8

Re: PHP - Fehler beim Speichern von Texten mit Sonderzeichen

  Alt 9. Jun 2005, 19:25
Zitat von tail:
Guck dir die funktionen mal im Manuel an, bei den Beschreibungen. Daraus kann man das schon sehen!
Also das mit dem mysql_real_escape_string() kann ich ja noch verstehen (, obwohl das für private Scripts eigentlich auch nicht soo wichtig ist...), aber das addslashes() besser sein soll als mysql_real_escape_string() verstehe ich nicht ganz.
mysql_real_escape_string() bzw. mysql_escape_string() scheinen doch genau für MySQL-Querys gemacht zu sein, warum sollte man sie dann nicht verwenden, wenn es doch um MySQL-Querys geht?
Simon Praetorius
Gruß
S2B
  Mit Zitat antworten Zitat
Benutzerbild von Mamphil
Mamphil

Registriert seit: 17. Jul 2004
Ort: Garching b. München
149 Beiträge
 
Delphi 7 Professional
 
#9

Re: PHP - Fehler beim Speichern von Texten mit Sonderzeichen

  Alt 10. Jun 2005, 12:25
Hallo!

Zitat von tail:
Zitat von s.h.a.r.k:
aha - mal ne dumme frage: Wieso?! Jeder sagt hier grad was anderes...
Guck dir die funktionen mal im Manuel an, bei den Beschreibungen. Daraus kann man das schon sehen!
Dieses Thema interessiert mich auch! Wieso soll addslashes() besser als mysql_real_escape_string() sein?

Mamphil
The laws of physics are the canvas God laid down on which to paint his masterpiece. “Leonardo Vetra” in Dan Brown’s “Angels & Demons”
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: PHP - Fehler beim Speichern von Texten mit Sonderzeichen

  Alt 10. Jun 2005, 12:41
Zitat von Mamphil:
Wieso soll addslashes() besser als mysql_real_escape_string() sein?
mysql_real_escape_string() maskiert alle Zeichen (z.B. auch \n und \r), die für mySQL maskiert werden müssen, addslashes() hingegen maskiert nur einen allgemeinen subset. Wer sicher sein kann, dass seine User nie solche speziellen Zeichen anliefern - z.B. per Cut & Paste - der wird keinen Unterschied merken. Aber wer kann sich da schon sicher sein?

Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz