kostenloser Webspace werbefrei: lima-city


Funktionsweise von filter_input()

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    computerkurs2011

    Kostenloser Webspace von computerkurs2011

    computerkurs2011 hat kostenlosen Webspace.

    Guten Tag,

    ich habe heute bei NetBeans bemerkt, dass alle meine $_GET/$_POST etc. angekreidet wurden. Dort wurde mir empfohlen die Funktion filter_input() zu verwenden. So jetzt hab ich mir dazu die Beschreibung in der Doc. angeguckt, allerdings bin ich mir nicht sicher welchen Nutzen der Filter bei Standard Eingaben wie bspw. einen Namen hat. Ich erkenne ja, dass es Sinn machen würde bei einem Int-Wert diesen Filter zu verwenden, aber wie soll ich den auf einen String anwenden?

    Bisher habe ich die Nutzereingaben wie folgt entgegengenommen:
    If(isset($_POST[‚username‘])) $username = $_POST[‚username‘];
    else $username = false;


    Was würde mir jetzt dieser Filter bringen und wie könnte ich ihn hier anwenden?
    Macht es überhaupt Sinn diesen Filter anzuwenden, da ich gelesen habe das er nicht unbedingt auf allen PHP-Versionen gleiche Funktionsweiten hat…?


    Vielen Dank
    cpk2011
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Abhängig davon was du erreichen willst … aber: wenn der Rest des Codes richtig ist und du beliebigen Text zulassen willst (was bei Benutzernamen vielleicht nicht, aber bei Passwörtern der Fall sein könnte) brauchst du an keiner Stelle filter_input().

    Beitrag zuletzt geändert: 27.11.2013 18:36:37 von hackyourlife
  4. Autor dieses Themas

    computerkurs2011

    Kostenloser Webspace von computerkurs2011

    computerkurs2011 hat kostenlosen Webspace.

    Ok,

    und wenn ich jetzt einen Int-Wert erwarte dann würde ich den Filter so aufbauen:

    filter_input(INPUT_POST, 'int', FILTER_VALIDATE_INT);


    So jetzt steht auf der php.net Seite das ich zusätzliche Filteroptionen wie default, min_range, max_range angeben kann. Meine Frage, wo kann ich diese zusätzlichen Parameter angeben ?

    Danke
  5. computerkurs2011 schrieb:
    ..., wo kann ich diese zusätzlichen Parameter angeben ?
    na do:
    filter_input(INPUT_POST, 'int', FILTER_VALIDATE_INT,
        array(
              "min_range"=>0,
              "max_range"=>256,
              FILTER_FLAG_ALLOW_OCTAL,
              FILTER_FLAG_ALLOW_HEX)
             )
    );

    wobei 0 und 256 sind von mir eingesetzt und damit sind auch gleich alle eventualitäten gezeigt (momentan [PHP v5.2.0+] ;)
  6. 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!