Input + strlen problem

Schon festgestellt? Dem Forum sind gerade alle Interaktionsmöglichkeiten genommen. :(

Mehr dazu unter: Abstimmung über das Forum

  • Tag,


    war eine lange zeit nicht aktiv mit Php und wollte mal wieder reinkommen. Hab jetzt grad 2 Probleme die mich verwirren.


    1. Bei Filter_input muss man ja eine Variable reinschreiben wie Input_filter(input_post, 'variable', filter_sanitize_string);
    Was bewirkt die Variable ?


    2. Wollte mal ganz einfach kurz ein Script das ein Datensatz einfügt. Es ist ganz einfach und soll jetzt nix mit sicherheit oder so erstmals zun haben. Es sagt mir nur "Name zu kurz" und das die ganze zeit.


    Zitat
  • Ohne den Namen wüsste die Funktion doch nicht was sie verarbeiten soll. Sonst müsstest du ja so vorgehen:


    PHP
    1. $email = $_POST['email'];
    2. // Filtern


    Bei strlen vergleichst du in den falschen Klammern:


    PHP
    1. // Falsch
    2. if(strlen($vorname > 36))
    3. // Korrekt
    4. if(strlen($vorname) > 36)
  • Wieso zeigt er mir, obwohl ich die email richtig schreibe 'email fail'?


    Zitat
  • Zeile 10

    PHP
    1. if(!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
    2. $error = 'email fail';
    3. }


    Wenn ! (NICHT) filter_var(...) === false


    Doppelte Verneinung :D


    Würde aber empfehlen:

    PHP
    1. $emailFiltered = filter_var($email, FILTER_VALIDATE_EMAIL);
    2. if ($emailFiltered=== false or $emailFiltered !== $email) {
    3. $error = 'email fail';
    4. }