kostenloser Webspace werbefrei: lima-city


Umlaute umwandeln PHP

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    Hallo !

    Ich habe in meinem Adminbereich ein tag/formular">Formular, wo ich News eintrage, die dann auf meiner Seite erscheinen.
    Wie kann ich Umlaute wie ä,ö,ü usw., die ich eingebe, automatisch umwandeln lassen, bevor sie in die Datenbank gespeichert werden?

    Mfg
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo,

    Das geht mit htmlentities()

    Grüße,

    Jan
  4. next-universe

    next-universe hat kostenlosen Webspace.

    Das ist ganz einfach...
    Es gibt in php eine Funktion dafür:
    string htmlspecialchars( string )

    Diese Funktion wandelt alle Sonderzeichen, auch ä, ö, ß, ü in html-Zeichen um. Allerdings werden auch die Tag-Zeichen, also < > und " in html umgewandelt. Die Funktion benutzt du so:
    <?php
       $Text = "dies ist Text mit <\"Ä, Ö, Ü\">";
       $html = htmlspecialchars( $Text );
       echo $html;
    ?>
  5. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    Das ist mein Code zum Speichern in die Datenbank:

    if($addnews){
    mysql_query("insert into news (id,zeit,datum,betreff,nachricht) values ('$id','$zeit','$datum','$betreff','$nachricht')");
    }
    if($dellnews){
    mysql_query("delete from news where id='$id'");
    }
    if($editnews){
    mysql_query("update news set betreff = '$betreff)', nachricht = '$nachricht' where id='$id'");
    }


    Wie kann ich den $betreff und $nachricht mit htmlentities() umschreiben?
  6. sonok

    Moderator Kostenloser Webspace von sonok

    sonok hat kostenlosen Webspace.

    Na mit htmlentities($betreff)

    :shy:


    Aber solang das Schuhebinden geht ist die Welt ja noch Ordnung ... oller Anti-Lern-Spammer!
  7. Füge einfach das vor deinen Datenbankbefehlen ein:
    $betreff = htmlentities($betreff);
    $nachricht = htmlentities($nachricht);
  8. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    sonok schrieb:
    Na mit htmlentities($betreff)

    :shy:


    Aber solang das Schuhebinden geht ist die Welt ja noch Ordnung ... oller Anti-Lern-Spammer!


    mysql_query("update news set betreff = 'htmlentities($betreff)', nachricht = 'htmlentities($nachricht)' where id='$id'");

    So geht das aber nicht.
    Was mache ich falsch?

    @zerojan; danke !

    Beitrag zuletzt geändert: 18.10.2010 22:33:46 von davy
  9. $betreff = htmlentities($betreff);
    $nachricht = htmlentities($nachricht);
    
    if($addnews){
    mysql_query("insert into news (id,zeit,datum,betreff,nachricht) values ('$id','$zeit','$datum','$betreff','$nachricht')");
    }
    if($dellnews){
    mysql_query("delete from news where id='$id'");
    }
    if($editnews){
    mysql_query("update news set betreff = '$betreff)', nachricht = '$nachricht' where id='$id'");
    }
  10. htmlentities, wie meine Vorredner gesagt haben ist die beste Alternative.

    Andernfalls kannst du nur "per Hand" überprüfen lassen nach allen entsprechenden Zeichen. Ist aber sehr mühseelig.
  11. Wenn das auch nicht geht probiers mit uft8_decode(string) oder utf8_encode(string)

    EDIT: innerhalb von htmlentities natürlich :)

    Beitrag zuletzt geändert: 19.10.2010 20:33:34 von htl-vil
  12. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!