Thomas: Prüfen auf leere Eingabe

Hi zusammen
wie prüfe ich in PHP am besten auf eine leere Eingabe in einem Textfeld.
Am besten wäre es noch wenn das Textfeld beim abschicken der Form leer ist soll ein Fehler ausgegben werden.

Vioelen Dank
Thomas

  1. hi,

    wie prüfe ich in PHP am besten auf eine leere Eingabe in einem Textfeld.

    empty()

    Am besten wäre es noch wenn das Textfeld beim abschicken der Form leer ist soll ein Fehler ausgegben werden.

    kombiniere obiges mit einer if-abfrage :-)

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo wahsaga.

      wie prüfe ich in PHP am besten auf eine leere Eingabe in einem Textfeld.

      empty()

      Aber möglichst in Kombination mit trim(), da man sich sonst recht leicht mit der Eingabe „ “ um die gewünschte Fehlermeldung drücken kann.

      Einen schönen Dienstag noch.

      Gruß, Ashura

      --
      Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
      30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
      Meine Browser: Opera 8.01 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
      [Deshalb frei! - Argumente pro freie Software]
  2. Moin,

    Am besten wäre es noch wenn das Textfeld beim abschicken der Form leer ist soll ein Fehler ausgegben werden.

    if ( $Mein_Textfeld == '' )
       echo 'Fehler';

    oder

    if ( !isset($Mein_Textfeld) )
       echo 'Fehler';
    http://www.php.net/manual/de/function.isset.php

    oder

    if ( empty ($Mein_Textfeld) )
       echo 'Fehler';
    ACHTUNG: Bei empty sind einige Dinge zu berücksichtigen
    http://www.php.net/manual/de/function.empty.php

    regds
    Mike©

    --
    Freunde kommen und gehen. Feinde sammeln sich an.
  3. Ahoi Thomas,

    mit trim() schnippselst du alle unötigen leerzeichen weg. dann ein
    strlen() und wenn strlen()===0 ist dann ist nix (außer evt. x
    leerzeichen) eingegeben worden.

    du solltest dir die stringfunktionen anschauen.

    MfG

    1. Hi!

      mit trim() schnippselst du alle unötigen leerzeichen weg. dann ein
      strlen() und wenn strlen()===0 ist dann ist nix (außer evt. x
      leerzeichen) eingegeben worden.

      Die Überprüfung auf Typengleichheit kannst du dir hier sparen (strlen gibt nur Werte des Typs »Integer« zurück). Ansonsten ist diese Methode mittels trim(strlen($string)) == 0 eine äußerst sinnvolle und bewahrt zugleich vor den (möglichen) Fallen von empty().

      Grüße,
      Fabian St.

      1. Ahoi Fabian St.,

        Ansonsten ist diese Methode mittels trim(strlen($string)) == 0 eine äußerst sinnvolle und bewahrt zugleich vor den (möglichen) Fallen von empty().

        so aber nicht mein freund.
        strlen(trim($string)) == 0
        so schon eher.

        MfG

        1. Hi!

          Ansonsten ist diese Methode mittels trim(strlen($string)) == 0 eine äußerst sinnvolle und bewahrt zugleich vor den (möglichen) Fallen von empty().

          so aber nicht mein freund.
          strlen(trim($string)) == 0
          so schon eher.

          Ja, klar ;-)
          Mensch, was ist heute bloß los? Ich glaube, ich geh' jetzt erstmal raus...

          Grüße,
          Fabian St.

  4. Hi,

    wie prüfe ich in PHP am besten auf eine leere Eingabe in einem Textfeld.

    Wenn auch Leerzeichen (es gibt mehr Leerzeichen als nur ' ' und PHPs trim() ist meines Wissens nicht Locale abhängig zu machen!) oder blanker Unsinn als leere Eingabe zählen: gar nicht.
    Es geht:

    • Länge des Strings ist 0, wie schon öfters vorgeschlagen
    • prüfen, ob das Textfeld mit dem korrektem Inhalt gefüllt ist.

    Das zweite ist offensichtlich recht aufwendig, wenn es sich nicht gerade um formal gut bestimmbare Inhalte handelt (Emailadresse o.ä.), dann aber auch die einzig vollständig funktionierende Lösung.

    Ansonsten reichen die statistischen Werte eines trim(strlen($variable)) vollkommen, wie auch von allen anderen Seiten vorgeschlagen. Je nach erwartetem Inhalt dann entweder tatsächlich auf 0 oder eine sinnvollere Zahl (Namen haben z.B. für gewöhnlich etwas mehr als nur einen Buchstaben) testen. Das eine zeitlang beobachten und evt verfeinern.

    Am besten wäre es noch wenn das Textfeld beim abschicken der Form leer ist soll ein Fehler ausgegben werden.

    Da würde ich zusätzlich(!) noch einen einfachen Javascripttest einbauen, das spart Serverlast und Transferkosten.

    so short

    Christoph Zurnieden

    1. Ahoi Christoph Zurnieden,

      Ansonsten reichen die statistischen Werte eines trim(strlen($variable)) vollkommen,

      du hast dir das auch durchgelesen?

      Dadurch kann man eine mindest, bzw. maxlänge überprüfen fals das ganze in ne DB soll.

      Da würde ich zusätzlich(!) noch einen einfachen Javascripttest einbauen, das spart Serverlast und Transferkosten.

      Was sehr nett ist. aber bei ausgeschaltetem JS nix bringt. ich
      persöhnlich würde es aber in anbetracht des von dir genannten
      gesichtspunktes auch einbauen.

      MfG

      1. Hi,

        Ansonsten reichen die statistischen Werte eines trim(strlen($variable)) vollkommen,

        du hast dir das auch durchgelesen?

        Nä, nur geschrieben, warum?

        Dadurch kann man eine mindest, bzw. maxlänge überprüfen fals das ganze in ne DB soll.

        Ja, das kann ich mir vorstellen (was ist mit Integerüberläufen?). Warum weist Du mich darauf hin?

        Da würde ich zusätzlich(!) noch einen einfachen Javascripttest einbauen, das spart Serverlast und Transferkosten.

        Was sehr nett ist. aber bei ausgeschaltetem JS nix bringt.

        Ich habe da nicht umsonst ein "zusätzlich(!)" in dem Satz an eben jener Stelle platziert.
        Wohl nicht umsonst aber vergeblich wie's scheint?

        so short

        Christoph Zurnieden

        1. Hi,

          Ansonsten reichen die statistischen Werte eines trim(strlen($variable)) vollkommen,

          du hast dir das auch durchgelesen?

          Nä, nur geschrieben, warum?

          Du möchtest von der Länge der Variablen die Whitespaces entfernen? ;-)

          Viele Grüße

          Jörg