ereg Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ereg Problem

    Servus Jungs,

    ich will überprüfen ob nur Zahlen angeben wurden, dazu habe ich mir sowas zusammen gebaut aber irgendwie geht es nicht, wo ist der Fehler:

    PHP-Code:
    function check_result($result){
      if(!
    ereg("^([0-9]+)$"$result)) return false;
      else return 
    true;
                   } 

  • #2
    Würde ich jetzt mittels preg_match() machen (soll ja schneller sein )
    PHP-Code:
    preg_match('/^(\\d+)$/',$string,$result); 
    Gruss

    tobi
    Zuletzt geändert von jahlives; 07.08.2006, 18:33.
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      ja, preg_match ist besser, aber seine variante stimmt auch.

      meGa, gib mal ein bsp.

      Kommentar


      • #4
        wollte es so verwenden:

        elseif(check_result($_POST['result1'] OR $_POST['result2']) == false) $error="Das Ergebnis ist nicht korrekt";

        Kommentar


        • #5
          was gibt ($_POST['result1'] OR $_POST['result2']) in php?

          Kommentar


          • #6
            super - und was steht in den jeweiligen post-feldern?

            Kommentar


            • #7
              ja da kann man zwei ergebnisse eintragen.
              es sollen nur zahlen sein, wenn nicht soll eine meldung erscheinen.

              Kommentar


              • #8
                wenns nur zahlen sein sollen, warum dann: $_POST['result2']) == false?

                Kommentar


                • #9
                  Original geschrieben von meGa
                  ja da kann man zwei ergebnisse eintragen.
                  es sollen nur zahlen sein, wenn nicht soll eine meldung erscheinen.
                  Jetzt hast Du einfach den mittelpost nochmal umschrieben, jetzt sollst Du nur noch die hier Dir gegebenen Antworten verstehen.

                  Kommentar


                  • #10
                    wie warum dann ... =?

                    Kommentar


                    • #11
                      Hm.....?

                      Kommentar


                      • #12
                        Original geschrieben von 3DMax
                        wenns nur zahlen sein sollen, warum dann:
                        $_POST['result2']) == false?
                        ist doch klar: Die klammer ) schiebt 'false' in den zahligen Bereich.

                        offtopic: 'wo ist der Fehler: wurde im Beitrag von 19:25 Uhr beantwortet.'
                        Zuletzt geändert von nix_wie_weg; 07.08.2006, 20:02.

                        Kommentar


                        • #13
                          achso, die klammer ist mir gar nicht aufgefallen, aber das ergibt ja boolean und ist nie eine zahl.

                          ich denke, du wolltest sowas machen:
                          PHP-Code:
                          elseif(!check_result($_POST['result1'])||!check_result($_POST['result2']))
                           
                          $error="Das Ergebnis ist nicht korrekt"

                          Kommentar


                          • #14
                            Habe deins jetzt und diese funktion aber es geht irgendwie nicht:

                            PHP-Code:
                            function check_result($string){
                              if(
                            preg_match('/^(\d+)$/',$string,$result)) return false;
                              else return 
                            true;
                                           } 

                            Kommentar


                            • #15
                              PHP-Code:
                              if(preg_match('/^(\\d+)$/',$string,$result) == 0) return false
                              preg_match gibt gemäss Manual entweder 0 oder 1 zurück. false wird nur bei einem Fehler zurückgegeben.
                              Überigens so wie du es oben geschrieben hast, würdest du, wenn es denn funzen täte, ein false im Erfolgsfall zurückgeben.

                              Gruss

                              tobi
                              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                              Kommentar

                              Lädt...
                              X