Gästebuch Eintrag perfekt übernehmen und ausgeben!!
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
bestimmter zeichen
code
darstellen
datum
eingabe
entsprechung
ergebnis
funktion
gefunden beitrag
gekommen probleme
glauben
problem
sonderzeichen
string
text
umlaut
vergessen
vorgehen
vorkommen
zeichenkette
-
Nach ewigen herumsuchen nach der Besten Möglichkeit nen Gästebucheintrag zu übernehmen bin ich auf keine Lösung gekommen...
Probleme: Sonderzeichen, html tags, anführungszeichen ....
Wie kann ich bei einem Beitrag die Eingaben so übernehmen das es beim darstellen zu keinen Problemen kommt???
1) von post in die mysql tabelle (welcher datentyp is der beste...)
2) ausgabe der mysql daten (ohne das es zu anzeigefehlern kommt und auch der Code nicht beieinträchtigt wird..)
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Es gibt da ein paar PHP-funktionen, die die zeichenketten verändern können.
Zum Beispiel:
$text = addslashes($text);
Schützt alle Vorkommen bestimmter Zeichen mit einem Backslash.
oder
$text = htmlentities($text);
Wandelt alle Sonderzeichen in HTML-Code um.
oder nl2br = Wandelt Zeichenumbrüche in die HTML-Entsprechung.
oder strip_tags = Entfernt HTML- und PHP-Tags aus einer Zeichenkette.
(hab in http://www.selfphp.info/funktionsuebersicht/string_funktionen.php gefunden)
Beitrag geändert: 28.7.2008 15:45:29 von pascalbir123 -
ich kenn diese ganzen string mani funktionen aber wie soll man vorgehen? wie macht man da nichts falsch
kann mir jmd die zeilen posten von einem Gästebuch in dem man alles reinschreiben kann.... -
addslashes() ist so ne Sache. Ich empfehle eher
htmlentities(); //Damit HTML-Tags entschärft werden.
mysql_real_escape_string(); //falls du MySQL benutzt.
Dann kannst du dir auch das unescapen sparen.
Als Feldtyp sollte eigentlich VARCHAR geeignet sein.
Es sei denn, du erwartest längere Texte von deinen Usern. Dann solltest du schauen, was besser dafür geeignet ist (TEXT, LONGTEXT, ect. )
Beitrag geändert: 28.7.2008 16:08:13 von bladehunter -
bitte helft mir, es wurden schon 100 000 gästebücher geschrieben und ich möchte gerne wissen
was am aktuellsten Stand (php 5) die eleganteste lösung ist.
Das der Name ein eher kürzerer String ist und der Text sehr lang werden kann ist wohl klar!
zur zeit hab ich den namen VARCHAR 25 Zeichen und den Text als TEXT, aber wenn andere Datentyben
besser sind wäre es kein Problem diesen zu ändern da ich noch am entwickeln bin. -
so jetzt bin ich selbst auf was drauf kommen. Wenn man im head teil der seite:
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
schreibt dann sind Sonderzeichen kein Problem mehr! Jetzt muss ich nur noch die html und php tags rausschneiden und schon kann jeder alles ins gästebuch schreiben und es gibt keine Probleme mehr...
Stimmts?
-
Nein.
Stimmt nicht.
Die meta Angaben werden leider ab und zu von verschiedenen Browser ignoriert.
Und selbst wenn: UTF-8 ist zwar schön und gut, aber die Texte müssen dann auch in UTF-8 eingegeben werden.
Wenn du unter Windows arbeitest und nicht aufpasst, kann es gut passieren, dass du auf der UTF-8 Seite
z.B. mit ISO-8859-1 schreibst. Ergebnis: Ebenfalls Mist und unlesbare Umlaute - im Zweifelsfall dann sogar
für alle Leser, egal welche Zeichenkodierung eingestellt wurde.
Die Datenbank muss natürlich auch noch auf UTF-8 geschaltet sein, sonst gibt es da Probleme.
Auch sollte man beachten, dass z.B. htmlentities(...) normalerweise nicht mit UTF-8 arbeitet, außer man gibt es
extra an. Das sollte man auf keinen Fall vergessen, sonst hagelt es Fehler. -
Also ich bin mit meiner Lösung voll zufrieden und es funzit bei mir bei allen browsern...
ich brauch kein htmlentities oä, strip_tags hab ich noch drinn und fertig.
Und wie löst du dieses Problem?? -
ich benutze meistens immer htmlspecialchars() [gleiche wie htmlentities()].
sollte vllt aber doch mal mysql_real_escape_string() benutzen...glaube das ist sicherer^^ -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage