NetPanther: PHP/Java mit relativem rückwärtigem (?) Link einfügen

Hallo!

Ich habe ein heftiges Problem und verzweifle auf Grund meines sehr beschränkten Wissens über HTML und Co.

Meine Serverstruktur ist wie folgt (Auszug):

[root]
.index.html

-[html]
--[hauptseite]
---.seite.html

-[newsticker]
--.newsticker.class

-[counter]
--.counter.php

So, also ein Hauptornder mit den Unterordnern html, newsticker und counter. Darin jeweils die Dateien und bei html erst noch ein Unterordner.

Jetzt habe ich auf index.html ein Frame in dem seite.html angezeigt wird. In seite.html sollen nun counter.php und newsticker.class arbeiten. Bei den URLs habe ich nun "../../counter/counter.php" und "../../newsticker/newsticker.class" angegeben, aber es wird beides nicht angezeigt.

So mit absoluten Adressen laufen die Sachen alle, aber so nicht. PHPs muss ich mit Angabe des Protokolltypes aufrufen (http://www.domain.de/script.php), aber auch "http://www./../../counter/counter.php" oder sowas geht nicht.

Also: Wie bekomme ich meine Java/PHP Scripte mit relativen rückwärtigen (in der Verzeichnisstruktur) Links hin?

Ich bin verzweifelt. :'( Vielleicht kann mir hier ja jemand helfen. Vielen Dank!

MfG
NetPanther

PS.: Ich habe wie gesagt kaum Ahnung, also möglichst viel fertiger Code und keine Fachausdrücke. Danke!

  1. Meine Serverstruktur ist wie folgt (Auszug):

    [root]
    .index.html

    -[html]
    --[hauptseite]
    ---.seite.html

    -[newsticker]
    --.newsticker.class

    -[counter]
    --.counter.php

    Jetzt habe ich auf index.html ein Frame in dem seite.html angezeigt wird. In seite.html sollen nun counter.php und newsticker.class arbeiten. Bei den URLs habe ich nun "../../counter/counter.php" und "../../newsticker/newsticker.class" angegeben, aber es wird beides nicht angezeigt.

    So mit absoluten Adressen laufen die Sachen alle, aber so nicht. PHPs muss ich mit Angabe des Protokolltypes aufrufen (http://www.domain.de/script.php), aber auch "http://www./../../counter/counter.php" oder sowas geht nicht.

    Um in seite.html newsticker.class einzubinden, sollte "../../newsticker/newsticker.class" eigentlich richtig sein - zweimal rauf (..) und dann in newsticker/ rein. Kann man sich die fehlerhafte Seite mal irgendwo anschauen?

    Alternativ kannst Du die Dateien auch über "/counter/counter.php" einbinden (Schrägstrich als erstes: im Wurzelverzeichnis starten).

    "http://www./../../counter/counter.php" ist eh nicht sonderlich logisch; Du hast schließlich schon einen absoluten Pfad, da brauchst Du nicht noch relative Angaben reinbauen. Vielleicht stolpert da der eine oder andere Browser drüber.

    Gruß,
      soenk.e

    1. Meine Serverstruktur ist wie folgt (Auszug):

      [root]
      .index.html

      -[html]
      --[hauptseite]
      ---.seite.html

      -[newsticker]
      --.newsticker.class

      -[counter]
      --.counter.php

      Jetzt habe ich auf index.html ein Frame in dem seite.html angezeigt wird. In seite.html sollen nun counter.php und newsticker.class arbeiten. Bei den URLs habe ich nun "../../counter/counter.php" und "../../newsticker/newsticker.class" angegeben, aber es wird beides nicht angezeigt.

      So mit absoluten Adressen laufen die Sachen alle, aber so nicht. PHPs muss ich mit Angabe des Protokolltypes aufrufen (http://www.domain.de/script.php), aber auch "http://www./../../counter/counter.php" oder sowas geht nicht.

      Um in seite.html newsticker.class einzubinden, sollte "../../newsticker/newsticker.class" eigentlich richtig sein - zweimal rauf (..) und dann in newsticker/ rein. Kann man sich die fehlerhafte Seite mal irgendwo anschauen?

      Alternativ kannst Du die Dateien auch über "/counter/counter.php" einbinden (Schrägstrich als erstes: im Wurzelverzeichnis starten).

      "http://www./../../counter/counter.php" ist eh nicht sonderlich logisch; Du hast schließlich schon einen absoluten Pfad, da brauchst Du nicht noch relative Angaben reinbauen. Vielleicht stolpert da der eine oder andere Browser drüber.

      Gruß,
        soenk.e

      Hallo!

      Danke für die Antwort, aber so funktioniert es ja leider nicht. Ich habe schon alles mögliche ausprobiert, aber die Javaapplets werden immer mit "class not found" als grauer Kasten dargestellt und beim Counter stehen auch immer nur "directory not found"-Fehler. :(

      Kann es sein das manche Webspaceanbieter da so irgendwie was machen, damit das nicht geht (warum auch immer)?

      MfG
      NetPanther

      1. Danke für die Antwort, aber so funktioniert es ja leider nicht. Ich habe schon alles mögliche ausprobiert, aber die Javaapplets werden immer mit "class not found" als grauer Kasten dargestellt und beim Counter stehen auch immer nur "directory not found"-Fehler. :(

        Könnte ein Problem werden, wenn die so include-ten Teile selbst wieder Sachen mit relativen Pfaden include-n.
        Bsp:

        <? include "../test/blubb.php";?>
        und in der blubb.php steht
        <? include "flapp.php";?>

        Dann wäre die Frage, ob flapp.php dann in ../test oder im aktuellen Verz. gesucht wird...
        Bei Java ist es ja genau so (und bei Flash und ...).
        Obwohl PHP das Problem AFAIK nicht so hat (im Gegensatz zu Cold Fusion).

        Kann es sein das manche Webspaceanbieter da so irgendwie was machen, damit das nicht geht (warum auch immer)?

        Klappt es denn auf einem anderen Server?

        1. Danke für die Antwort, aber so funktioniert es ja leider nicht. Ich habe schon alles mögliche ausprobiert, aber die Javaapplets werden immer mit "class not found" als grauer Kasten dargestellt und beim Counter stehen auch immer nur "directory not found"-Fehler. :(

          Könnte ein Problem werden, wenn die so include-ten Teile selbst wieder Sachen mit relativen Pfaden include-n.
          Bsp:

          <? include "../test/blubb.php";?>
          und in der blubb.php steht
          <? include "flapp.php";?>

          Dann wäre die Frage, ob flapp.php dann in ../test oder im aktuellen Verz. gesucht wird...
          Bei Java ist es ja genau so (und bei Flash und ...).
          Obwohl PHP das Problem AFAIK nicht so hat (im Gegensatz zu Cold Fusion).

          Kann es sein das manche Webspaceanbieter da so irgendwie was machen, damit das nicht geht (warum auch immer)?

          Klappt es denn auf einem anderen Server?

          Hallo!

          Also alle Sachen die jeweils zu einem der Scripte gehören sind alle in jeweils dem gleichen Verzeichnis. Da sollte es keine Probleme geben.

          Die Seite kann ich leider nicht präsentieren, aber ich kann ja mal den Code zeigen:

          Vorher (alles in einem Verzeichnis):
          <?php include("counter.php"); ?>
          -> geht

          Nachher:
          <?php include("http://www.domain.de/counter/counter.php"); ?>
          -> geht

          Nachher:
          <?php include("../../counter/counter.php"); ?>
          -> geht nicht

          Hier das Script:
          <!DOCTYPE html
               PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
               "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

          <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
            <head>
              <title>Counter</title>
            </head>
            <body>
              <?php
                $hFile = fopen("counter.txt", "r+");
                $counter = fgets($hFile, 10);
                if ($counter == "") {
                  $counter = 0;
                }
                $counter++;

          echo '<font face="Arial" size="1">Besucher: ' . $counter . '</font>';

          rewind($hFile);
                fwrite($hFile, $counter);
                fclose($hFile);

          ?>
            </body>
          </html>

          Im Script muss ich doch bei der counter.txt Stelle nichts anders angeben, oder?

          Am PHP könnte ich noch was ändern, aber das Navigationsscript (Java) ist kein eigenes und so riesig, da wüsste ich nicht was ich alles ändern müsste.

          Kann man anhand dessen denn einen Fehler erkennen?

          Danke.

          MfG
          NetPanther

      2. Um in seite.html newsticker.class einzubinden, sollte "../../newsticker/newsticker.class" eigentlich richtig sein - zweimal rauf (..) und dann in newsticker/ rein. Kann man sich die fehlerhafte Seite mal irgendwo anschauen?

        Danke für die Antwort, aber so funktioniert es ja leider nicht.

        Deswegen schrieb ich ja auch "Kann man sich die fehlerhafte Seite mal irgendwo anschauen?".

        Dein Weg ist soweit richtig, Du mußt also irgendwo anders einen Fehler haben. Den kann Dir aber keiner zeigen, wenn Du die Seitenadresse nicht verrätst.

        Kann es sein das manche Webspaceanbieter da so irgendwie was machen, damit das nicht geht (warum auch immer)?

        Nein.

        Gruß,
          soenk.e