Nick®: include() nicht über mehrere Dateien möglich?

Tach!

Also, meine Frage: Gibt es beiPHP eine "Variablentiefenbegrenzung"?

Das ist vielleicht etwaskompliziert ausgedrückt. Also, so genau siehts aus:

Es geht um den "window.status" in Javascript. Ich habe in einem Webprojekt einen Adminbereich gestaltet, in dem man den Statuszeilentext ändern kann. Wenn man dort in ein Formular den Statuszeilentext eingibt und auf "Speichern" klickt, schreibt PHP in eine PHP-Datei (sie heißt "data_scrollbartickerinhalt.php")in einem übergeordneten Verzeichnis folgendes:

/////////////////////////START///////////////////////
<?php

$windowstatuseinfach = "

<script language='javascript'>
window.DefaultStatus='Dedsischezabrdrtexxschddd............'
</script>

";

$statuszeilenartfertig = '$windowstatuseinfach';

?>

/////////////////////////ENDE///////////////////////

Nun binde ich in eine weitere Datei, "daten.php" die Variable "$statuszeilenartfertig" ein, und zwar folgendermaßen:

/////////////////////////START///////////////////////
<?php

include ("./data_scrollbartickerinhalt.php");

$windowstatus = $statuszeilenartfertig;

?>

/////////////////////////ENDE///////////////////////

Und nun greifen alle anderen Dokumente (index.php seite1.php, etc.) auf diese Seite zu und enthalten wiederum den Befehl "echo $windowstatus;".

Hiermit möchte ich natürlich erreichen, dass in jeder Seite dann der entsprechende Statusleistentext eingeblendet ird. Das ist aber nicht der Fall. Und im Quelltext ist keine Spur von einem windowstatus zu sehen...

Was habe ich falsch gemacht? Oder gibt es eine Tiefenbegrenzung bei PHP, dass man nicht beim Aufruf einer Seite auf 20 verschiedene andere Datteien zugreifen kann?

Ich hoffe, jemand kann mir helfen...

THX. Cya - Nick®.

--

Bin ständig auf der Suche nach Programmierarbeit und bin - als Schüler - sicher die günstigste Alternative...
  1. hallo!

    ich hab deinen post zweimaal durchgelesen, aber geholfen hat´s nichts ;-( ...soll heissen, ich weiss nicht, was du meinst.

    du kannst beliebig inkludieren. includes dürfen auch weitere includes beeinhalten (ich glaube bei php bis 2^9 tiefe).

    ich würde dir ein sauberes debuggen empfehlen.

    1. Tach!

      Also ich werde das hier mal versuchen, zeichnerisch zu veranschaulichen

      Hier wird die
      Variable "X"
      eingebunden
       -------    include()----------.
      |       |                      |
      |       |                      V Hier wird festgelegt, dass "X" = "Y"
      |       |--------------------------
      |       |                    |     |
      |       |                    |     |
       -------                     |     |
                                    -----   include()----------.
                                                               |
                                                               V Hier wird festgelegt, dass "X"
                                                                 = "(Formel für den Javascript-status"

      Ich hoffe, jetzt ist es klarer und mir kann jemand helfen???

      Also Ich includiere praktisch in eine Datei eine andere, in die wieder eine andere includiert wird, in die wieder eine includiert wird. Und in der "letzten", die includiert wird, lege ich den Wert für eine Variable fest. z.b. X = 25. In der übergeordneten datei, in die iche eben diese includiere, ist ja nun X als Variable verfügbar. Nun lege ich wieder fest, dass dieses X = Z ist. In der nächsten schreibe ich Z=L und in der nächsten verwendeich L. Also muss dann wenn ich schreibe "echo $L;" nachher drannestehen "25"

      Hier noch eine Gleichung

      X=25
      Y=X
      Z=Y
      Y=L
      L=25

      richtig?

      Ich weiss, dass ich immer alles zu kompliziert mache, aber ichweiss net, wie ich sonst erklären sollte...

      hoffentlich kann mir jetzt jemand helfen???

      THX. Cya - Nick®.

      --

      Bin ständig auf der Suche nach Programmierarbeit und bin - als Schüler - sicher die günstigste Alternative...
      1. Tach!

        Ich hab mir jetzt nochmal eine einfachere Erklärung gebastelt:

        ------------------------------------------------------------------------------------------

        Ich habe eine Datei, in der ich festlege X=25

        Diese Datei nehme ich mittels include()-Befehl in eine andere Datei und lege dort fest: X=Y

        Diese Datei nehme ich wiederum mittels include()-Befehl in eine weitere Datei und lege dort fest Y=V

        Und diese Date nehme ich wieder mit include() in jede Datei des Webprojekts und schreibe dort "echo $V;".

        Und da V=Y=X=25 ist, sollte er mir doch dann für V die 25 einsetzten, sodass aus dem echo-Befehl die 25 wird, oder? Tja, und das macht er mir nicht. er bringt keine Fehlermeldun, nichts. Wenn ich aber bei der Bestimmung X=25 einen Fehler mache (z.B. ein " ohne , etc.) bekomme ich einen Parse Error. Das ist doch ein Zeichen, dass er direkten Zugriff auf fdiese Datei hat, und ich nicht beim einbinden einen Fehler gemacht habe. Jedenfalls, bringt er mir nun keine Fehlermeldung, aber auch keinen Windowstatus. und auch im erzeugten Quelltext ist letztendlich nichts von einem Windowstatus zu sehen. Warum macht er mir das nicht?

        Ich hoffe, jetzt ist es noch verständlicher :/

        THX. Cya - Nick®.

        --

        Bin ständig auf der Suche nach Programmierarbeit und bin - als Schüler - sicher die günstigste Alternative...
        1. Hallo,

          Ich vermute, Du hast ein Chaos mit der Reihenfolge
          der Includes und den Werten der Variablen.

          Mach doch mal ein neues Skript und fuege dort
          das Skript und dann alle Includes von Hand ein,
          so dass Du am Ende ein einziges langes Skript
          ohne einen einzigen Include-Befehl hast.
          Das gleiche tut naemlich PHP.

          Dann findest Du vielleicht den Fehler bzw.
          die Fehl-Ueberlegung.

          Du koenntest auch jeweils nach den Zuweisungen
          eine Ausgabe zu Testzwecken machen, um die Werte
          der Variablen zu verfolgen. z.B. so:

          include1.php
          ------------
          $x=25;
          echo "<!-- Im include1.php wurde der Variable $x der Wert [$x] zugewiesen. -->\n"

          u.s.w.

          JavaScript-Manipuliationen der Statusleiste finde
          ich uebrigens etwas vom doofsten, was man tun kann.
          Extrem kindisch, sowas.
          Eigentlich sollte ich jemandem, der solchen Sch***
          vorhat, gar nicht helfen.
          Aber weil PHP im Spiel ist, kann ich es nicht lassen...

          Gruesse,

          Thomas

          1. Tach!

            JavaScript-Manipuliationen der Statusleiste finde
            ich uebrigens etwas vom doofsten, was man tun kann.
            Extrem kindisch, sowas.

            Hehe, auf welcher meiner Seiten warst du denn und hast das schon wiede rgesehen? ;-)

            Trotzdem Danke für die Hilfe...

            THX. Cya - Nick®.

            --

            Bin ständig auf der Suche nach Programmierarbeit und bin - als Schüler - sicher die günstigste Alternative...
      2. hi,

        Hier noch eine Gleichung

        X=25
        Y=X
        Z=Y

        bis hier alles ok, X, Y und Z haben jetzt alle den wert 25.

        Y=L

        Y bekommt hier den wert von L zugewiesen - dieses ist aber vorher nicht definiert, also kommt hier auch nur ein undefinierter zustand heraus. wenn du das error reporting von PHP nicht zu sehr geknebelt hast, wirst du aber für die uninitialisierte verwendung von L auch eine warnung bekommen.

        L=25
        richtig?

        ja, das ist eine korrekte _zuweisung_.

        wenn du mit den letzten zwei zeilen aber fragen wolltest, ob L jetzt den wert 25 hat - nein.
        dazu müsstest du die darüber liegende zeile umdrehen, und L den wert von Y zuweisen, statt umgekehrt.

        Ich weiss, dass ich immer alles zu kompliziert mache, aber ichweiss net, wie ich sonst erklären sollte...

        versuche erst mal, in deinen scripten einfacher zu denken - dann hast du es auch einfacher, uns zu erklären, was du da vorhast.

        derzeit ist nur ein ziemliches durcheinander erkennbar, das dein eindruck nahe legt, dass du entweder selber nicht verstehst, was du da eigentlich machst, oder aber dass du nicht in der lage bist, dein script-chaos anderen leuten plausibel zu beschreiben. beides wäre wenig verwunderlich.

        gruss,
        wahsaga

  2. Hallo,

    $statuszeilenartfertig = '$windowstatuseinfach';

    hier hast du dann in $statuszeilenartfertig exakt "$windowstatuseinfach" stehen - nicht dein js-Zeug. (lies mal http://www.php.net/manual/de/language.types.string.php#language.types.string.syntax.single)

    Hiermit möchte ich natürlich erreichen, dass in jeder Seite dann der entsprechende Statusleistentext eingeblendet ird. Das ist aber nicht der Fall. Und im Quelltext ist keine Spur von einem windowstatus zu sehen...

    was steht den im Code drin?

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|