Harry: If-Statement falsch?

Hi,
folgende Befehlsfolge zeigt eine leere Seite

<?php

$grenzdatum = mktime(0, 0, 0, 09, 10, 2019);

if (time() <= $grenzdatum)
  require_once ($_SERVER['DOCUMENT_ROOT'].$_SERVER['MyAkt_Domain_Subdir_Sprache'].'/Docs/Prot.shtml');  

?>

Bei der alleinigen Angabe von

<?php

require_once ($_SERVER['DOCUMENT_ROOT'].$_SERVER['MyAkt_Domain_Subdir_Sprache'].'/Docs/Prot.shtml');

?>

wird der Inhalt des Dokuments Prot.shtml korrekt angezeigt. Habe ich wohl Tomaten auf den Augen?

  1. Tach!

    $grenzdatum = mktime(0, 0, 0, 09, 10, 2019);
    
    if (time() <= $grenzdatum)
    

    09 ist eine ungültige Oktalzahl. Das gibt einen Syntax-Error.

    dedlfix.

    1. Hallo, danke, aber ich meinte, meine Angaben seien Dezimalzahlen.

      1. Hello,

        Hallo, danke, aber ich meinte, meine Angaben seien Dezimalzahlen.

        Aber dein PHP-Parser nicht ;-)

        Als ich dedlfixs Antwort gelesen habe, dachte ich allerdings auch "was der alles auf einen Blick sieht ..." :-)

        Glück Auf
        Tom vom Berg

        --
        Es gibt nichts Gutes, außer man tut es!
        Das Leben selbst ist der Sinn.
        1. Tach!

          Als ich dedlfixs Antwort gelesen habe, dachte ich allerdings auch "was der alles auf einen Blick sieht ..." :-)

          Hab ich nicht, ich hab die Fehlermeldung gesehen in der PHP-Online-Sandbox.

          dedlfix.

          1. Hello,

            Tach!

            Als ich dedlfixs Antwort gelesen habe, dachte ich allerdings auch "was der alles auf einen Blick sieht ..." :-)

            Hab ich nicht, ich hab die Fehlermeldung gesehen in der PHP-Online-Sandbox.

            Sieh da: intelligent geschummelt also ☆hihi☆

            Glück Auf
            Tom vom Berg

            --
            Es gibt nichts Gutes, außer man tut es!
            Das Leben selbst ist der Sinn.
            1. Tach!

              Hab ich nicht, ich hab die Fehlermeldung gesehen in der PHP-Online-Sandbox.

              Sieh da: intelligent geschummelt also ☆hihi☆

              Schon klar, wie du das meinst, aber ... eigentlich ist Fehlermeldungen zu lesen Bestandteil des Handwerkszeug eines Programmierers. Anscheinend ist das System des OP nicht so konfiguriert ist, dass diese zu sehen sind. Dann sieht man nur eine leere Seite. Für den Produktivbetrieb nicht die schlechteste Einstellung, für die Entwicklung aber wenig brauchbar. Da sollte das error_reporting auf E_ALL stehen, sowie display_errors (und display_startup_error) eingeschaltet sein.

              dedlfix.

              1. Hello,

                Tach!

                Hab ich nicht, ich hab die Fehlermeldung gesehen in der PHP-Online-Sandbox.

                Sieh da: intelligent geschummelt also ☆hihi☆

                Schon klar, wie du das meinst, aber ... eigentlich ist Fehlermeldungen zu lesen Bestandteil des Handwerkszeug eines Programmierers. Anscheinend ist das System des OP nicht so konfiguriert ist, dass diese zu sehen sind. Dann sieht man nur eine leere Seite. Für den Produktivbetrieb nicht die schlechteste Einstellung, für die Entwicklung aber wenig brauchbar. Da sollte das error_reporting auf E_ALL stehen, sowie display_errors (und display_startup_error) eingeschaltet sein.

                Kann man nicht oft genug sagen.

                Glück Auf
                Tom vom Berg

                --
                Es gibt nichts Gutes, außer man tut es!
                Das Leben selbst ist der Sinn.
      2. Tach!

        danke, aber ich meinte, meine Angaben seien Dezimalzahlen.

        Dann lass sie nicht mit 0 beginnen, denn das ist die Syntax für Oktalzahlenliterale.

        dedlfix.

        1. Danke!!!!!

    2. Ich frage mich immer wieder wozu Oktalzahlen überhaupt gut sind, denn ich habe noch nie eine bewusst gebraucht.
      Bei chmod kommen sie vor, wie ich gerade gefunden habe. Wäre mir nicht so direkt bewusst gewesen, ich habe das bisher nicht als Zahl sondern als drei einzelnen Stellen betrachtet.
      Nächste Frage, warum haben sie eine Null als Präfix und Fehlerquelle?

      1. Tach!

        Ich frage mich immer wieder wozu Oktalzahlen überhaupt gut sind,

        Und, diese Frage schon mal der allwissenden Müllhalde gestellt?

        Wo nutzt man sie?

        Hauptsächlich bei Rechteangaben in Unix, da braucht man nur je 4 Bits und kann das einfach als Ziffer und vor allem ohne umzurechnen als Ziffernfolge darstellen.

        dedlfix.

        1. Moin,

          Wo nutzt man sie?

          Hauptsächlich bei Rechteangaben in Unix, da braucht man nur je 4 Bits und kann das einfach als Ziffer und vor allem ohne umzurechnen als Ziffernfolge darstellen.

          knapp daneben: Die Unix-Rechteangaben brauchen 3 Bit pro Stelle, und gerade deshalb passt die oktale Darstellung so gut (denn 8 ist 2³).

          Mit 4 Bit pro Stelle wären wir bei der hexadezimalen Darstellung.

          Ciao,
           Martin

          --
          Ein Tag, an dem du nicht wenigstens einmal gelacht hast, ist ein verlorener Tag.
          1. Tach!

            Hauptsächlich bei Rechteangaben in Unix, da braucht man nur je 4 Bits und kann das einfach als Ziffer und vor allem ohne umzurechnen als Ziffernfolge darstellen.

            knapp daneben: Die Unix-Rechteangaben brauchen 3 Bit pro Stelle, und gerade deshalb passt die oktale Darstellung so gut (denn 8 ist 2³).

            Ja, stimmt, Denkfehler von mir, die drei "Zusatzbits" sind ja als Extra-Ziffer angegeben und nicht auf die drei mal drei anderen (rwx) verteilt. Nur in der "buchstäblichen Darstellung" sieht man sie dort.

            dedlfix.

      2. @@encoder

        Nächste Frage, warum haben sie eine Null als Präfix und Fehlerquelle?

        Wohl die Schnapsidee eines einzelnen, die sich dann so festgesetzt hat.

        Ähnlich sinnvoll wie Monate bei 0 beginnend zu zählen. Oder Array-Elemente.

        LLAP 🖖

        --
        „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
        1. Hello Gunnar,

          Nächste Frage, warum haben sie eine Null als Präfix und Fehlerquelle?

          Wohl die Schnapsidee eines einzelnen, die sich dann so festgesetzt hat.

          Ähnlich sinnvoll wie Monate bei 0 beginnend zu zählen. Oder Array-Elemente.

          Bei den Arrays zumindest kommt es aus der rudimentären Programmierung. Da waren Arrays ja noch geschlossene Speicherstrukturen (Anreihungen) von Elementen desselben Typs. Die Lage der Elemente im Speicher ließ sich noch direkt berechnen. Man hat daher einfach die Startadresse und einen Offset*Typbreite benötigt, um das Element zu erreichen. Wenn man da vorher immer noch Eins hätte abziehen müssen, hätte mancher Bildschirmneuaufbau doppelt solange gedauert. ;-)

          Glück Auf
          Tom vom Berg

          --
          Es gibt nichts Gutes, außer man tut es!
          Das Leben selbst ist der Sinn.
      3. Hallo encoder,

        Ich frage mich immer wieder wozu Oktalzahlen überhaupt gut sind

        Ich hatte das mal irgendwann recherchiert, bekomme aber meine Quellen nicht mehr zusammen. In den 60ern waren 24-bit oder 36-bit Maschinen im Gebrauch, und da bieten sich Oktalzahlen eher an als Hex-Zahlen.

        Nächste Frage, warum haben sie eine Null als Präfix und Fehlerquelle?

        Vermutlich weil 0O03 oder \O003 zu Verwirrung geführt hat (damals waren Kleinbuchstaben Luxus und der Extra-Backslash auch. Jedes Byte war kostbar).

        Rolf

        --
        sumpsi - posui - clusi