kostenloser Webspace werbefrei: lima-city


problem mit Hochkomma

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    deadlyassfuck

    deadlyassfuck hat kostenlosen Webspace.

    hi Leute

    bin dabei eine kleine php page zu bauen die mit einer userverwaltung, private message system und news system ausgesatttet sein wird

    habe schon das usersystem mit allem drum und dran, das news system is auch fertig aber jetz ist mir was aufgefallen
    wenn ich in feldern wo der User texte eingiebt wie z.B. username oder wohnort...egal was - wenn dort ein Hochkomma > ' < mit drin ist klappt es nicht und es gibt einen my sql error

    wie kann ich das problem mit den hochkommas l?sen? habe da von einer str_replace funktion oder so geh?rt
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. einfach ne Funktion schreiben die Hochkomma in ein anderes Zeichen Umwandelt oder verbietet ... frag mich jetzt aber nicht wie ? Glaub irgendwas mit StringReplace() oder so...:wink:
  4. Ok Ok - hab deine Frage nicht richtig durchgelesen...hab die aber ein einfaches Beispiel gefunden f?r so ne Funktion:

    > function badwords($content){
    > $badword = file("badwords.txt");
    > foreach ($badword as $elem){
    > $ersatz="@@".$elem."@@";
    > $suche=$elem;
    > $content = str_replace($suche, $ersatz , $content);
    > }
    > return $content;
    > }


    viel Gl?ck...:thumb:
  5. Autor dieses Themas

    deadlyassfuck

    deadlyassfuck hat kostenlosen Webspace.

    ja in delphi war das glaub ich str_replace()

    nur in php?? kann jemand helfen?
    das hochkomma muss entweder verboten / gefiltert werden oder es muss vor dem hochkomma ein backslash > / < davor gesetzt werden damit der mysql syntax wieder stimmt


    EDIT: ah ok !!! danke!!!
  6. Ganz einfach:
    Den Text bekommst du ja in eine Variable.
    Bei dieser Variable l?sst du jetzt einfach eine PHP-Funktion wie z.B.: str_replace() bei der du die als Searchstring ein Hochkomma angibst, und auf z.B. ein \' ?nderst, oder ich glaub es funktioniert auch, wenn du ein doppeltes Hochkomma, also " verwendest.
    Ich glaube, dass das MySql zul?sst, bin mir aber nicht ganz sicher
  7. <?php
    $text=eingegebener Text
    $aendern=array("'" => "/'");
    $text=str_replace(array_keys($aendern),array_values($aendern),$text);
    ?>

    So m?sste das funktionieren
    armada
  8. spermaboymarl

    spermaboymarl hat kostenlosen Webspace.

    $String = str_replace("was du ersetzten willst","womit ersetzen",$String");

    Das selbe Problem hat man auch mit manch anderen Sonderzeichen.
    Also am besten eine Funktion schreiben welche alle Problemf?lle ersetzt

    function strinconvert($String)
    {
    [...]
    $String = str_replace("'","?",$String);
    [...]
    return $String;

    }
  9. Am Besten ist, wenn man die Umlaute "HTML-gerecht" umwandelt und dann den Text in der Datenbank abspeichert.
    Bei der Anzeige ist das dann kein Problem, weil der Browser sowieso die Zeichen wieder umwandelt.
    z.B.: ? => &uuml;
    So w?re es richtig ein ? darzustellen.
    Dazu gibt es die Funktion htmlentities();

    Dies sollte man beachten. Der IE hat zwar kein Problem mit ?,?,? und diversen Zeichen, aber vielleicht h?lt sich ein anderer Browser an den Standard und dann hat dieser ein Problem und jeder, der den Browser benutzt, denkt sich: "So ein Vollidiot von Webmaster"

    mfg
  10. s***e

    hey kannst du mir das script f?r user verwaltung bitte geben?
  11. Warum schreibst du es dir nicht selber? Steigert deine Erfahrung in PHP und dir wird nicht langweilig!
  12. RFM sag ich da nur. Schau mal in der PHP doku nach dieser Funktion mal nach (www.php.net) Da ist bestimmt ein Passender Code-Schnippsel.
  13. 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!