Warum ist der Wert nicht integer???

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

  • Warum ist der Wert nicht integer???

    Hallo!
    Ich möchte ein script schreiben welches mir die erste und die zweite Zahl addiert (insofern diese integer sind). Bei meinem script wird die eingegebene Zahl allerdings immer als string definiert.... warum ist der wert nicht ein integerer??? Ich gebe doch eine Zahl ein?


    PHP-Code:
    <?php
    if(isset($_POST[sb]))
    {
    $x=$_POST[x];
    $y=$_POST[y];
    echo 
    gettype($x);   #Zur Kontrolle, ob der wert integer ist
    }
    else
    {
        echo
    "
        <form name=\"form1\" action='
    {$_SERVER[PHP_SELF]}' method=\"POST\">
        <table>
        <tr><td><input type=\"text\" name=x></td><td>Zahl1</td></tr>
        <tr><td><input type=\"text\" name=y></td><td>Zahl2</td></tr>
        <tr><td colspan=\"2\"><input type=\"submit\" name=\"sb\" value=\"Los!\"></td></tr>
        </table>
        </form>
        "
    ;
    }

    ?>

  • #2
    Re: Warum ist der Wert nicht integer???

    Original geschrieben von Kisi
    warum ist der wert nicht ein integerer?
    Weil per GET oder POST übergebene Werte immer Strings sind.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Und wie kann ich dann überprüfen, ob wirklich nur zahlen eingegeben wurden, oder ob ein text eigegeben wurde?

      Kommentar


      • #4
        Die Suchfunktion hier oder auch bei google kannst du gerne auch mit Text füttern.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Such mal nach is_numeric.
          [color=blue]...ich sehe was, was du nicht siehst...und das ist der QUELLTEXT![/color]

          Kommentar


          • #6
            PHP-Code:
            if (preg_match('#^[0-9]+$#'$_POST['wert'])) {
              echo 
            'int'//ob bigint oder so lass ich jetzt mal untern Tisch fallen XD~


            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #7
              Du kannst einfach den Wert, den du per URL übergeben hast durch 1 teilen... Dann ist es wieder nen Integer :-)

              Kommentar


              • #8
                Du kannst einfach den Wert, den du per URL übergeben hast durch 1 teilen... Dann ist es wieder nen Integer :-)
                Aha! und wenn der wert ein text ist, wird das dann ein integer-text?
                [color=blue]...ich sehe was, was du nicht siehst...und das ist der QUELLTEXT![/color]

                Kommentar


                • #9
                  Er gibt vermutlich ein int(0), weil PHP versucht den String in einen Int zu casten. Das mit dem durch 1 teilen ist auch ned ohne, da Zahlen auch hexadezimal oder oktal angegeben werden können. Und der topicstarter will einen Integer und nur dann rechnen.
                  z.B.
                  PHP-Code:
                  if(intval($_GET['var']) != $_GET['var']){
                      die(
                  'Bitte nur Integer Werte angeben');

                  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