Ankündigung

Einklappen
Keine Ankündigung bisher.

if/else greift nicht

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • if/else greift nicht

    Hi,

    ich würde innerhalb meines Adminbereiches gern eine Ausnahme für gewisse Dinge schreiben.

    Leider greift der negative Vergleich nicht:
    PHP-Code:
    if ((substr($_SERVER['REQUEST_URI'], 0,7) !== '/admin/') xor (substr($_SERVER['REQUEST_URI'], 0,12) !== '/datenpflege'))
    {
        echo 
    '<div id="seitenueberschrift">'.$_REQUEST['seite'].'</div>';

    Vergleiche ich es aber positiv, klappt es
    PHP-Code:
    if (substr($_SERVER['REQUEST_URI'], 0,7) == '/admin/' or substr($_SERVER['REQUEST_URI'], 0,12) == '/datenpflege'
    {} else
    {
        echo 
    '<div id="seitenueberschrift">'.$_REQUEST['seite'].'</div>';

    Klappen tut das... wie gesagt. Aber versteh tut ich das nicht... was ich aber gern würde

    Weiß einer, warum PHP sich hier so verhält ?


  • #2
    Seit wann ist XOR die Negation von OR?
    --

    „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


    • #3
      sorry. Letzter Stand.
      Auch wenn ich es nur mit OR schreibe, greift es nicht. Hatte es dann mal mit XOR versucht... was aberauch kein Erfolg brachte... und dann diesen Stand fälschlicherweise kopiert.

      Es geht aber nicht um OR/XOR sondern um "==" und "!==" .. bzw. später
      if(bedingung)
      {}else{ bedingung }


      Sprich:if absichtlich leer gelassen, damit else greift => das ist aktuell meine funktionale Lösung.

      Kommentar


      • #4
        Wenn du die Bedingungen komplett umkehren willst musst du erstens die einzelnen Bedingungen umkehren (== -> !=, != -> ==) und zweitens die Verknüpfungen umkehren (OR -> AND, AND -> OR).

        XOR tut was ganz anderes.
        Zitat von nikosch
        Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

        Kommentar


        • #5
          Zitat von tkausl Beitrag anzeigen
          Wenn du die Bedingungen komplett umkehren willst musst du erstens die einzelnen Bedingungen umkehren (== -> !=, != -> ==) und zweitens die Verknüpfungen umkehren (OR -> AND, AND -> OR).
          Hab ich doch!.
          Das mit den XOR war wie beschrieben nur der letzter Versuch, doch noch was hinzubiegen.

          So sehen die beiden Vergleiche aus:
          PHP-Code:
          if ((substr($_SERVER['REQUEST_URI'], 0,7) !== '/admin/') or (substr($_SERVER['REQUEST_URI'], 0,12) !== '/datenpflege'))
          {
              echo 
          '<div id="seitenueberschrift">'.$_REQUEST['seite'].'</div>';



          Das klappt... aber nurweil ich es nun in else gesteck habe:

          if ((
          substr($_SERVER['REQUEST_URI'], 0,7) == '/admin/') or (substr($_SERVER['REQUEST_URI'], 0,12) == '/datenpflege'))
          {} else
          {
              echo 
          '<div id="seitenueberschrift">'.$_REQUEST['seite'].'</div>';

          Kommentar


          • #6
            Wer lesen kann ist klar im Vorteil.

            Es geht aber nicht um OR/XOR sondern um "==" und "!==" .. bzw. später
            if(bedingung)
            {}else{ bedingung }
            Doch, genau darum geht es.


            [MOD: Thread geschlossen]
            --

            „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

            Lädt...
            X