preg_match + -

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
  • hey ich schreib garde sone art Überweisung und will das man dort nur zahlen nutzen kann und ja wen ich jetzt z.b 200 eingebe sagt er mir "Es Sind Nur Zahlen Erlaubt!" bei der If abfrage

    PHP
    if(preg_match('[0-9]', $_POST['buchen']))


    ob mir da vielleicht wer helfen kann?
    lg kifkat

  • Klappt ihren leider noch imma nicht wen ich 200 eingebe sagt er wider "Es Sind Nur Zahlen Erlaubt!"
    hier mal die if und Inhalt

    if(preg_match('[0-9]', $_POST['GeldBuchen'])) {
    mysql_query("UPDATE accounts SET Geld = Geld-$GeldBuchen WHERE Name = '$_SESSION[username]'") or die(mysql_error());
    mysql_query("UPDATE accounts SET Bankguthaben = Bankguthaben+$GeldBuchen WHERE Name = '$_SESSION[username]'") or die(mysql_error());
    $Bankguthaben = $ausgabe['Bankguthaben'];
    echo"Du Hast {$GeldBuchen}$ auf die Bank Getan!";
    echo "<br><b>Dein Aktieller Kontostand Betragt: {$Bankguthaben}$!</b><br/><br/>";
    }else{ ?><div id="waning"><text>Es Sind Nur Zahlen Erlaubt!</text></div><? }

    //edit Text und code

    Einmal editiert, zuletzt von Kevin B. ()

  • Wieso arbeitest du nicht einfach mit der Funktion; 'is_numeric($variable)'?



    (Ungetestet)


    Desweiteren solltest du deine Variablen escapen Funktion: 'mysql_real_escape_string($variable);'


    Lg

  • Ja in PHP auf jeden Fall is_numeric();


    Oder eben:


    PHP
    if(preg_match("/[0-9-]+/"))


    Das wäre der Post mit Minus Zahlen :D


    Einfach im Preg Match mit nem Minus drinnen.


    Is_Numeric sollte mit Minus klar kommen :!:


    Oder ganz geil, xDD

    PHP
    $zahl = (int)$string;
    // bzw.
    $zahl = (int)"-1";


    :P

    Miete mich (nicht) :love:

  • PHP
    <?php$String = "Ich bin ein String";$PosInt = 4;$NegInt = -4;echo "<b>Überprüfung bei einem String:</b><br><br>";if(preg_match('/^-?\d+$/m', $String)){ echo "Das ist eine Zahl"; }else{ echo "Das ist keine Zahl!";}echo "<br><br><b>Überprüfung bei einer positiven Zahl:</b><br><br>";if(preg_match('/^-?\d+$/m', $PosInt)){ echo "Das ist eine Zahl"; }else{ echo "Das ist keine Zahl!";}echo "<br><br><b>Überprüfung bei einer negativen Zahl:</b><br><br>";if(preg_match('/^-?\d+$/m', $NegInt)){ echo "Das ist eine Zahl"; }else{ echo "Das ist keine Zahl!";}?>


    Ausgabe:


    Überprüfung bei einem String:


    Das ist keine Zahl!


    Überprüfung bei einer positiven Zahl:


    Das ist eine Zahl


    Überprüfung bei einer negativen Zahl:


    Das ist eine Zahl


    ========


    Regex: /^-?\d+$/m


    Anwendung: preg_match('/^-?\d+$/m', $String);


    Einmal editiert, zuletzt von .Steven. ()

  • PHP
    if(is_numeric($bla) && $bla > 0) {...}


    Wo is das problem?