+-*/ Sperren

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

  • +-*/ Sperren

    Also ich will mit fogendem Befehl die Zeichen +-*/ Sperren.

    PHP-Code:
       }
       elseif (!
    ereg("^[+|-|*|/]{1,11}$"$punkte))
       {
       
    $post.="Sonderzeichen";
       } 
    Aber wenn ich das in eine Abfrage Packe kommt immer die Meldung Sonderzeichen raus

    PHP-Code:
    //Hier wird die Rechnung der Punkte erzeugt
    $SQL_statement="Select login FROM t_user WHERE login = '$member'";
    $ergebnis=mysql_query($SQL_statement);

       if(
    mysql_numrows($ergebnis) > 0)  // nur wenn $member existiert ...
       
    {
       if (
    $punkte $user[11])
       {
       
    $post.="Leider besitzt du nicht so viele Punkte";
       }
       elseif (!
    ereg("^[+|-|*|/]{1,11}$"$punkte))
       {
       
    $post.="Sonderzeichen";
       }
       elseif (
    $user[1] == $member)
       {
       
    $post.="Du kannst Punkte nicht an dich selber überweisen ;-)";
       }
       else
       {
       
    $post.="Es wurden $punkte Punkte an $member überwiesen";
       
    mysql_query("Insert INTO t_ueberweisung(login,zulogin,punkte,betreff) VALUES('$user[0]','$member','$punkte','$text')");
       
    mysql_query("UPDATE t_user SET credits=credits + '".addslashes($punkte)."' WHERE login= '".addslashes($member)."' ");
       
    mysql_query("UPDATE t_user SET credits=credits - '".addslashes($punkte)."' WHERE id= '".addslashes($user[0])."' ");
       }
     }
    else
    {
    $post.="Formular"

  • #2
    ich habs mal mit preg_match() gemacht. so geht es.
    das $ am ende habe ich entfernt, denn das gesuchte zeichen sollte ja am anfang sein. danach könnte jetzt danach kommen was will.

    PHP-Code:
    <?php

      $punkte 
    "+-*/";

      if (
    preg_match("!^[\\+|\\-|\\*|\\/]!is"$punkte)) {
        echo 
    "Sonderzeichen";
      }

    ?>
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      ja danke aber wie schaffe ich es das der User folgende sachen nicht ins feld eingeben kann

      x = Zahl

      ----
      x+x
      x-x
      x*x
      x/x

      Kommentar


      • #4
        lass das ^ weg und schon wird das vorkommen geprüft ...
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          danke

          Kommentar


          • #6
            - Die Pipe-Symbole kannst du auch wegwerfen, wenn du mit einer Zeichenklasse arbeitest.
            - und das Minus ist in einer Zeichenklasse das einzige von dir benutzte Meta-Zeichen ...
            das muss aber auch nicht escaped werden, wenn es am Ende oder Anfang der Klassendefinition steht:

            if (preg_match("![+*/-]!is", $punkte)) echo "Sonderzeichen";

            Auszug aus PCRE-Pattern Syntax
            Part of a pattern that is in square brackets is called a "character class".
            In a character class the only meta- characters are:
            \ general escape character
            ^ negate the class, but only if the first character
            - indicates character range
            ] terminates the character class
            Ein range = Bereich muss einen Anfang und ein Ende haben ... wenn eins von beiden fehlt, steht das "-" alleine.
            mein Sport: mein Frühstück: meine Arbeit:

            Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

            Kommentar

            Lädt...
            X