Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Bitte um Hilfe bei Preis Abfrage/Funktion

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Bitte um Hilfe bei Preis Abfrage/Funktion

    Hallo,

    ich habe folgende Funktion bzw. Abfrage:

    PHP-Code:
    $string $_POST['price'];
    $var ereg_replace(",""."$string);

    function 
    zahl($var
        { 
            if (
    preg_match("=^[0-9]+$=i",$var)) { 
                return 
    TRUE
            } else { 
                return 
    FALSE
            } 
        }

    $price $var;
    if (
    zahl($price)) { 
    echo 
    "TRUE"
    }
    if (!
    zahl($price)) { 
    echo 
    "FALSE"

    Zunächst wird eine Variable übergeben.
    Dann wird in der variable ein Komma zum Punkt umgewandelt.
    Dann soll mit Hilfe der Funktion geschaut werden ob die Variable auch eine zahl ist und nicht aus alphanumerischem Code besteht.

    Mein Problem ist das diese Funktion mir immer "false" zurückgibt. Habe ich dort ein fehler gemacht?

    Und ausserdem soll die Funktion alles was bis auch zwei Stellen hinter dem Komma steht einfach abschneiden. Hat da jemand eine Idee für mich wie das gehen kann?

    lg
    ePole


  • #2
    kein Fehler, allerdings ist eine Zahl mit Komma halt keine Zahl sondern ein String, was erklärt warum immer False rauskommt. Ob POST/GET überhaupt zahlen übermittelt wenn es sich um eine handelt oder IMMER Strings weiß ich nicht.

    Edit: bin davon ausgegangen du nutzt is_Numeric

    preg_match("=^[0-9]+$=i",$var)
    guck dir den teil nochmal an und sag mir was falsch ist.
    Zitat von nikosch
    Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

    Kommentar


    • #3
      wenn du überprüfen möchstest ob es eine Zahl ist, also in diesem Fall ein Preis empfiehlt sich eventuell die is_numeric() funktion
      PHP: is_numeric - Manual
      "My software never has bugs, it just develops random features."
      "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

      Kommentar


      • #4
        Zitat von tkausl Beitrag anzeigen
        Ob POST/GET überhaupt zahlen übermittelt wenn es sich um eine handelt oder
        Ich bin mir jetzt net sicher, aber PHp castet alle Variablen glaub ich immer so wie es sie gerade braucht. Im Normalfall aber auch als String...
        Mit is_numeric() biste bei Preisen immer auf der sicheren Seite

        Aber dran denken: Alle Angaben ohne Gewähr!
        "My software never has bugs, it just develops random features."
        "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

        Kommentar


        • #5
          ah, verstehe. das ist natürlich dann falsch...da muss ich mit is_numeric arbeiten. mein preg_match checkt nur ob es numerisch ist...! danke für die tips.

          und vieleicht hat ja noch jemand einen tipp wegen dem löschen aller Stellen hinter dem Komma bis auf die ersten beiden.

          Kommentar


          • #6
            Zitat von ePole Beitrag anzeigen
            ah, verstehe. das ist natürlich dann falsch...da muss ich mit is_numeric arbeiten. mein preg_match checkt nur ob es numerisch ist...! danke für die tips.

            und vieleicht hat ja noch jemand einen tipp wegen dem löschen aller Stellen hinter dem Komma bis auf die ersten beiden.
            >.< dazu sag ich nichts.
            "Runden" nennt man das, im englsichen ROUND
            einmal in google eingegeben siehst du dass es rundet, du willst abgeschnitten haben. bei der FUnktion ROUND gibt es die links zu FLOOR und CEIL, FLOOR brauchst du, die schneidet alle stellen nach dem komma ab. und frag jetzt nicht wie man die ersten beiden behält.
            Zitat von nikosch
            Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

            Kommentar


            • #7
              float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] )
              PHP: round - Manual - hier werden sie geholfen

              PHP-Code:
              <?php
              echo round(2.235652);  #Ausgabe: 2.24
              "My software never has bugs, it just develops random features."
              "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

              Kommentar


              • #8
                "Runden" und "Abschneiden" sind aber zwei völlig unterschiedliche Paar Schuhe...
                Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                Kommentar


                • #9
                  ihr seid super, vielen lieben dank. damit schaff ich`s meine funktion aufzupeppelln

                  Kommentar

                  Lädt...
                  X