Ankündigung

Einklappen
Keine Ankündigung bisher.

if abfrage innerhalb eines Wertbereiches.

Einklappen

Neue Werbung 2019

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

  • if abfrage innerhalb eines Wertbereiches.

    Hallo, ich bin php neuling und habe ein Problem.

    Ich habe hier eine if abfrage

    PHP-Code:
    if($_GET["id"] == "100") { } 
    nun kann die id sich aber von 100 bis 199 bewegen und ich möchte die abfrage so gestalten das sich der wert zwischen 100 und 199 befinden kann nur habe ich da mit if noch keine Lösung gefunden. Kann ich das mit einer if abfrage lösen ?


  • #2
    Hallo,

    du kannst "&&"(und), "AND", "||"(oder) und "OR" benutzen um mehrere Dinge gleichzeitig abzufragen.
    http://www.php.de/php-einsteiger/489...nsammlung.html
    Relax, you're doing fine.
    RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

    Kommentar


    • #3
      das sich der wert zwischen 100 und 199 befinden kann
      Mit && (and) kannst du auf mehr Bedingungen prüfen.

      PHP-Code:
      if ($id >= 100 and $id <= 200) {
          
      // ...

      Und du solltest davor noch prüfen ob id überhaupt im GET vorhanden ist, das könnte so aussehen:

      PHP-Code:
      $id 0// zB. mit 0 vorbelegen

      if (isset($_GET['id'])) {
          
      // id aus GET an die Variable $id zuweisen und mittels (int) zu einer Zahl typisieren ("casten") 
          
      $id = (int) $_GET['id'];
      }

      if (
      $id >= 100 and $id <= 200) {
          
      // ...

      LG
      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Danke, das && kannte ich schon von Linux wußte aber nicht das das bei php auch funktioniert. Aber warum muss ich int verwenden $id ist doch immer eine Zahl.

        Kommentar


        • #5
          *hust* http://php.net/manual/de/language.operators.logical.php
          Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
          PHP.de Wissenssammlung | Kein Support per PN

          Kommentar


          • #6
            Zitat von Herr-Bert Beitrag anzeigen
            Danke, das && kannte ich schon von Linux wußte aber nicht das das bei php auch funktioniert. Aber warum muss ich int verwenden $id ist doch immer eine Zahl.
            http://www.php.de/php-einsteiger/announcements.html
            http://www.php.de/php-einsteiger/489...nsammlung.html
            Zitat von nikosch
            Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

            Kommentar


            • #7
              Zitat von Herr-Bert Beitrag anzeigen
              ... $id ist doch immer eine Zahl.
              ... Nein. Nicht wenn du es direkt aus GET abholst.

              Siehe:

              http://php-de.github.io/jumpto/form/#datentypen

              http://php-de.github.io/jumpto/valid...datenfilterung

              LG
              Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
              PHP.de Wissenssammlung | Kein Support per PN

              Kommentar


              • #8
                Zitat von Herr-Bert Beitrag anzeigen
                Aber warum muss ich int verwenden $id ist doch immer eine Zahl.
                Musst du nicht. Jedenfalls formal nicht. Aber alles was du von $_GET erhältst sind Strings (= sozusagen Text). Die kann PHP automatisch umwandeln. Aber mit (int) stellst du sicher, dass $id auf jeden Fall eine Zahl ist!

                Übrigens, du hast ja eingangs geschrieben:
                PHP-Code:
                $_GET["id"] == "100" 
                Wenn du "100" statt 100 schreibst meinst du damit 100 als String und nicht als Zahl! Damit musst du vorsichtig sein, PHP ist sehr, sehr tolerant was Vergleiche angeht und wandelt wie gesagt gerne alles mögliche in alles mögliche um. Das ist zunächst praktisch, kann aber zu Falle werden wenn man nicht an dieses Verhalten denkt.

                Kommentar


                • #9
                  if (isset($_GET['id'])) {
                  // id aus GET an die Variable $id zuweisen und mittels (int) zu einer Zahl typisieren ("casten")
                  $id = (int) $_GET['id'];
                  }
                  Ich würde hier nicht casten, sondern abbrechen.
                  --

                  „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                  Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                  --

                  Kommentar


                  • #10
                    Und die Validation bleibt auf der Strecke ?

                    PHP-Code:
                    $id filter_has_var(INPUT_GET'id') && false !== filter_input(INPUT_GET'id'FILTER_VALIDATE_INT)
                       ? (int) 
                    $_GET['id']
                       : 
                    MY_FUNNY_DEFAULT_VALUE
                    Alternativ: https://github.com/auraphp/Aura.Filter
                    [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                    Kommentar


                    • #11
                      Meintest DU mich? Nein, oder?
                      --

                      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                      --

                      Kommentar


                      • #12
                        Nein, war als Zusatz zu monoliths letzten Beitrag.
                        [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                        Kommentar

                        Lädt...
                        X