Sascha Carlin: Verweise innerhalb eines .php3-Dokuments

Hallo zusammen :-)

Ich hab da ein mittelschweres Problem. Nachdem ich meine Website technisch gesehen von statischen
HTML- auf PHP-Seiten umgestellt hatte, funktionierten meine aus den alten HTML-Seiten stammenden
<a href="#interne_verweise"> nicht mehr... Kann mir da jemand einen Tip geben?

TIA, Sascha

  1. Hallo Sascha,

    <a href="#interne_verweise"> nicht mehr... Kann mir da jemand einen Tip geben?

    tja, meine Glaskugel zum Hellsehen ist grade bei der Jahresinspektion ;-) drück doch Dein Problem mal bischen deutlicher aus:

    • wird der href per php geschrieben ?
    • steht er "hardgecodet" in der Datei ?
    • ist das Verweisziel in der Datei (nach dem Umbau noch) vorhanden ?
    • soll das Ziel evtl. per php geschrieben werden ... und wird es nicht ?
    • etc.

    Viele Grüße
    Bernd

  2. Deine internen Verweise sollten immer noch gehen, wenn du sie nach deinem notiertem schema geschrieben hast

    <a href="#interne_verweise">

    Es sein den du hast die datei selbst in irgendweiner form mitreferenziert, z.b.

    <a href="irgendeine_html_datei.htm#mein_anker">

    in dem Fall wurde ich ein Tool empfehlen das dateiübergreifendes Ersetzen beherrscht, wie z.b. der Phase5 HTML-Editor (Freeware unter http://www.meybom.de) und alle Endungen .htm (oder .html) durch .php3 ersetzen lassen.

    gruss

    Curt

  3. Ich hab da ein mittelschweres Problem. Nachdem ich meine Website technisch gesehen von statischen
    HTML- auf PHP-Seiten umgestellt hatte, funktionierten meine aus den alten HTML-Seiten stammenden
    <a href="#interne_verweise"> nicht mehr... Kann mir da jemand einen Tip geben?

    Also gut. Plauder ich ein bisschen aus dem Nähkästchen :-)

    Die <a name="bla"> Sachen stehen "hardcoded" in einer .inc-Datei, welche ich per PHP auslese und
    in die Seite einfüge. In dieser .inc stehen auch die Verweis-Ziele (ebenfalls "hardcoded").
    Das Problem ist nun folgendes: ich referenziere alle Seiten per "main.php3?load=irgendwas",
    was dann natürlich auch die Basisadresse ist, von der aus die internen Verweise aufgerufen werden sollen.
    Das sieht dann z. B. so aus: "main.php3?load=irgendwas#irgendwo". Lustig, nicht?

    Wenn ich aber als Basisadresse "main.php3" nutze, kommt logischerweise kein Verweis an, weil in der main.php3
    ja keine Verweisziele definiert sind (wir erinnern uns, die stecken in der per PHP ausgelesen .inc-Datei)

    Ich geb zu, ist ein bisschen kompliziert :-))

    Sascha

    1. mmmhhh, ok ist nicht so einfach.

      eine erste Idee wäre folgendes anstelle von beispielsweise

      print '<a href="test.php3?load=uu#ziel">test</a>';
      per PHP zu generieren.

      könntest du das Verweisziel selbst als Variable übertragen,
      print '<a href="test.php3?load=uu&anchor=ziel">test</a>';

      und dann per redirect
      if (isset($anchor)) header("Location:test.php3#ziel");
      dein Verweisziel anspringen, sofern du deine Variablenwerte dann nicht mehr brauchst.

      gruss

      Curt

      1. mmmhhh, ok ist nicht so einfach.

        :-)

        eine erste Idee wäre folgendes anstelle von beispielsweise
        print '<a href="test.php3?load=uu#ziel">test</a>';
        per PHP zu generieren,
        könntest du das Verweisziel selbst als Variable übertragen,
        print '<a href="test.php3?load=uu&anchor=ziel">test</a>';
        und dann per redirect
        if (isset($anchor)) header("Location:test.php3#ziel");
        dein Verweisziel anspringen, sofern du deine Variablenwerte dann nicht mehr brauchst.

        ^^^^^^

        Tja, die brauch ich aber, da in der .php3 nur das Grundgerüst steckt...
        Vielleicht wollte ich einfach ZU dynamisch sein... Hab die internen Verweise jetzt erstmal weggemacht, vielleicht fällt mir da ja noch was ein.

        Vielen Dank jedenfalls für Deine Bemühungen.

  4. Jo, war doch einfacher als gedacht. Beim lesen eines Artikels über den Unterschied von URL zu URI isses mir sozusagen "gekommen":

    Ich übergebe die Daten ja sozusagen als method="post", indem ich main.php3?load=irgendwas aufrufe. Na, dämmerts?

    Wenn ich die Links als Forumlar bezeichne und dann dieses hier:

    <form action="main.php3" method="get">
    <input ... name="load" value="irgendwas">
    </form>

    mache, landen die Paramter in Enviroment und ich kann sie per PHP:

    $ziel = get_env(load);

    auslesen. Der URI bleibt dann sozusagen eine URL, nämlich "main.php3", und in der kann ich interne Verweise logischerweise nutzen.

    War wohl zu einfach. Aber trotzdem Dank an alle Curt und Bernd!