Ankündigung

Einklappen
Keine Ankündigung bisher.

root_path (../) ausserhalb eines Links?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • root_path (../) ausserhalb eines Links?

    Hallo ihr Profis ^^

    Ich habe ein klitzekleines Problemchen...
    Ich habe eine Funktion erstellt, um ein Link zu machen.

    Hier die Funktion:

    PHP-Code:
    <?php

    function getlink ($sitebase$sitename) {
        global 
    $root_path;
        
        
    $sitebase $root_path $sitebase;
        
        
    $uri $_SERVER["REQUEST_URI"];
        
    $site basename($uri);
        
        if (
    $site != $sitebase) {
            echo 
    "<a href=\""$sitebase ."\">"$sitename ."</a>";
        }
        else {
            echo 
    "<strong>"$sitename ."</strong>";
        }
        
    }

    //...

    getlink("index.php""Home"); //Im Einsatz
    getlink("pages/page2.php""Home"); //Im Einsatz ein Ordner höher

    ?>
    So, eigentlich funktioniert ja fast alles.. Jedoch stimmt es nicht mehr, wenn ich in einen Ordner höher zugreiffen muss (pages in meinem Fall).
    $site, was ja page2.php ist, ist nicht dasselbe wie $basesite, was ../pages/page2.php ist!

    Könnt ihr mir helfen?

    Danke
    Gruss Toby
    codestyle.ch
    ----------------------------

  • #2
    ich hab mal dein script ausprobiert und bei mir funktioniert alles...was genau funktioniert nicht bei deinem script...also bei mir kann ich auf beide seiten zugreifen...welches problem hast du genau...
    gruß Heiko

    Kommentar


    • #3
      Hallo Lern_HEIKO
      Erstmal, danke, dass du mein Script anschaust ^^

      Also folgendes geht bei mir nicht:
      Wenn ich bei meiner Homepage in einem Ordner bin (pages/), dann wird der Link, wo ich momentan bin angezeigt, was er ja nicht sollte (er sollte nur als <strong>Link</strong> angezeigt werden)!

      Irgendwie hat das damit zu tun, dass die If-funktion nicht zutrifft.. also diese:

      PHP-Code:
      <?php if ($site != $sitebase?>
      Ist einwenig komisch...

      Hoffentlich kannsu mir helfen

      Dank Gruss
      Toby

      EDIT:

      Könnte es eventuel damit zu tun haben, dass ich es nur Offline probiert habe??
      Kann nich sein, oder?
      codestyle.ch
      ----------------------------

      Kommentar


      • #4
        ich glaube da stimmt was nicht bei dem array $_SERVER

        lies mal hier...

        PHP: Predefined Variables - Manual
        gruß Heiko

        Kommentar


        • #5
          so wart ich glaub ich habs...weil basename ja nur das pages2.php extrahiert kannst du das auch nicht abfragen...der vergleicht das mit dem absoluten pfad und da kann er eigentlich meines wissensnach true bringen...also ich würde versuchen i-wie den string von $site zu ändern so dass er immer den absolutenpfad von der geöffneten seite hat und dann das vergleicht dann müsste es gehen...weiß es aber auch nich genau weil ich auch kein profi bin und gerade in der lernphase...

          könntest du mal bei meinem thema schauen des index.php wie ich ne session übergeben über die url und dann wieder aufnehme...das geht einfach nicht...
          gruß Heiko

          Kommentar


          • #6
            Ja, das habe ich auch schon gedacht.. aber ich weiss leider auch nicht so genau, wie ich die If-Abfrage verändern soll...
            Naja, vll. schaff ichs iwi..
            Danke trotzdem ^^

            Achja, mit Sessions kenn ich mich leider nich aus, aber du bekommst ja dort genug Hilfe ^.~

            MFG Toby
            codestyle.ch
            ----------------------------

            Kommentar


            • #7
              ja stimmt......dann viel glück wenn mir noch was einfällt wie du die if-abfrage gestalten könntest dann poste ich es hier...
              gruß Heiko

              Kommentar


              • #8
                Tut mir echt leid, dass ich das nochmals noch oben bringen muss, doch ich benötige immer noch Hilfe...
                Irgendwie finde ich keinen guten Vergleich.. Naja, ich weiss nich ganz, was ich noch machen könnte... das mit diesem Ordner ist echt ein Problem..

                Weiss nicht zufälligerweise doch noch jemand, was ich da machen könnte....

                Danke MFG
                Toby

                EDIT:

                Falls es jemanden interessiert, ich habs jetzt folgendermassen gelöst...
                Im folgenden Script kann man mit genau einem Ordner arbeiten, dessen Namen man oben angeben muss.. Is zwar ein wenig scheisse, aber es geht...
                Siehe da:

                PHP-Code:
                <?php
                function getlink ($sitebase$sitename) {
                    global 
                $root_path;
                    
                    
                $ordner "pages/";
                    
                    
                //$sitebase = $root_path . $sitebase;
                    
                    /*$site = $_SERVER["REQUEST_URI"];
                    //$site = basename($uri);*/
                    
                    
                $uri $_SERVER["REQUEST_URI"];
                    
                $site basename($uri);
                    
                    if (
                $sitebase != "index.php") {
                    
                $sitebase $ordner.$sitebase;
                    }
                    
                //echo $sitebase."\n\n";
                    
                    
                if ($site != "index.php") {
                    
                $site $ordner.$site;
                    }
                    
                //echo $site;
                    
                    
                if ($site != $sitebase) { // Vergleich zwischen der (jetzigen) URL und der Link-url
                        
                echo "<a href=\""$root_path $sitebase ."\">"$sitename ."</a>";
                    }
                    else {
                        echo 
                "<strong>"$sitename ."</strong>";
                    }
                    
                }
                ?>
                So, wenn doch noch jemand ne Lösung fürs oben angegebene Script findet, ich wär verdammt froh xD

                Danke, MFG Toby
                codestyle.ch
                ----------------------------

                Kommentar

                Lädt...
                X