1. Artikel
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Paules-PC-Forum.de
  2. Forum
  3. Programmierung
  4. PHP/MySQL

Sonderzeichen nicht erlauben

  • Dj EKI
  • 13. August 2014 um 12:19
  • Dj EKI
    Profi
    Beiträge
    758
    • 13. August 2014 um 12:19
    • #1

    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?

    Code
    if ( $_GET['aktion'] == "speichern" )
    {
    	$name 	= $_GET['Name'];
        $lvl 	= $_GET['Lvl'];
        $hbg 	= $_GET['HBg'];
        $hbe 	= $_GET['HBe'];
        $hbs 	= $_GET['HBs'];
        $hbf 	= $_GET['HBf'];
        $notiz 	= $_GET['Notiz'];
    
        //Abfrage, ob Sonderzeichen erlaubt sind
    
    
    if (!preg_match('/^[0-9a-z]+$/i', $name)) {
      	die ('Name enthält unerlaubte Zeichen');  
    }
    Alles anzeigen

    Bilder sind Leider nicht Erlaubt -.- schade... obwohl ich sowas sehr gerne gestalte und Präsentiere ...

  • Online
    cx01
    Weiß worum´s geht
    Reaktionen
    26
    Beiträge
    144
    • 13. August 2014 um 22:11
    • #2

    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.

  • Dj EKI
    Profi
    Beiträge
    758
    • 14. August 2014 um 09:27
    • #3

    htmlentities() ist eine uper Idee! Gibt es auch andere Möglichkeiten? ÄÖÜ sind jetzt leider äöü

    Bilder sind Leider nicht Erlaubt -.- schade... obwohl ich sowas sehr gerne gestalte und Präsentiere ...

  • Online
    cx01
    Weiß worum´s geht
    Reaktionen
    26
    Beiträge
    144
    • 14. August 2014 um 19:43
    • #4

    Vlt musst du htmlentities() als Encoding noch "UTF-8" übergeben.

Windows 11

  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™