Announcement

Collapse
No announcement yet.

überprüfen, was eingegeben wurde

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • überprüfen, was eingegeben wurde

    hi @ all,

    ich möchte ein formular schreiben, wo in einem feld nur zahlen erlaubt sein sollen. ich habe schon folgendes versucht:
    PHP Code:
    public function pruefen($zahl)
    {
        if(!
    eregi('^[[:digit:]]'$zahl)) 
        {
            
    $test 1;
        }
        else
        {
            
    $test 0;
        }
        return 
    $test;

    nur leider macht die funktion nicht zu 100% das, was sie soll. wenn ich in dem textfeld z.b. 050abc eingebe, dann wird das nicht als fehler anerkannt, sondern nur wenn am anfang der textbox ein buchstabe steht. was muss ich ändern, damit die gesammte textbox auf unerwünschte eingaben überprüft wird?

    mfg bolle

  • #2
    bei dir liegt der fehler darin, dass du nur überprüfts, ob zahlen vorhanden sind und nicht wo. zudem solltest du auf preg_match und co. umsteigen.

    für dein problem nimmst du aber am besten die filter funktionen:

    PHP Code:
    $variable=filter_var($variable,FILTER_VALIDATE_INT); 
    gruß

    Comment


    • #3
      danke erstmal für deine antwort.

      wenn ich die filterfunktion benutze

      PHP Code:
      public function pruefen($zahl)
      {
          if(
      $zahlfilter_var($zahlFILTER_VALIDATE_INT)) 
          {
              
      $test 1;
              echo 
      "ungültige eingabe. test hat den wert: ".$test;
          }
          else
          {
              
      $test 0;
              echo 
      "gültige eingabe. test hat den wert: ".$test;
          } 
      und dann z.b. folgendes eingebe: 8989h, dann wird der variable test der wert 0 übergeben. wenn ich jetzt nur zahlen eingebe, dann hat $zahl den wert 1.

      Comment


      • #4
        ich habs jetzt wie folgt gelöst
        PHP Code:
        !eregi("^[0-9]+$",$zahl
        funktioniert auch einwandfrei

        Comment


        • #5
          du musst das anders aufbauen für die filter funktionen:

          $zahl=filter_var($zahl,FILTER_VALIDATE_INT);
          if($zahl===FALSE) echo 'Keine Zahl eingegeben';
          gibt filter_var() FALSE zurück, bedeutet dies, das nicht nur zahlen vorhanden sind.

          Comment


          • #6
            jetzt gehts mit der filtermethode. danke

            Comment

            Working...
            X