Sonderzeichen nicht erlauben

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Unsere Datenschutzerklärung wurde aktualisiert. Mit der Nutzung unseres Forums akzeptierst Du unsere Datenschutzerklärung. Du bestätigst zudem, dass Du mindestens 16 Jahre alt bist.

    • Sonderzeichen nicht erlauben

      Wenn man in einer Mysql einen Eintrag erledigt, dann sind blöderweise auch alle Zeichen erlaubt. zb ein Eintrag Name<br/>Name.
      Dann würde dass in der Tabelle so aussehen:
      Name
      Name

      Um das zu verhindern, wollte ich eine Sicherheit einbauen, somit dass keiner ein Sonderzeichen einsetzen kann.
      Was ich jetzt gemacht habe, klappt nicht, was könnte ich machen?

      Quellcode

      1. if ( $_GET['aktion'] == "speichern" )
      2. {
      3. $name = $_GET['Name'];
      4. $lvl = $_GET['Lvl'];
      5. $hbg = $_GET['HBg'];
      6. $hbe = $_GET['HBe'];
      7. $hbs = $_GET['HBs'];
      8. $hbf = $_GET['HBf'];
      9. $notiz = $_GET['Notiz'];
      10. //Abfrage, ob Sonderzeichen erlaubt sind
      11. if (!preg_match('/^[0-9a-z]+$/i', $name)) {
      12. die ('Name enthält unerlaubte Zeichen');
      13. }
      Alles anzeigen
      Bilder sind Leider nicht Erlaubt -.- schade... obwohl ich sowas sehr gerne gestalte und Präsentiere ...
    • Normalerweise speichert man die Sonderzeichen in der Datenbank mit ab und beim Anzeigen nutzt man dann z.b. htmlentities() um sie in harmlose HTML-Codes zu wandeln.
      Du solltest dir außerdem mal die Funktion mysqli_real_escape_string() anschauen, denn momentan ist die Art, wie du die Daten in die INSERT-Anfrage einbaust, nicht sicher.