Ergebnis 1 bis 4 von 4

Thema: externe PHP-Datei einbinden

  1. #1
    Contao-Nutzer
    Registriert seit
    02.04.2014.
    Beiträge
    3

    Standard externe PHP-Datei einbinden

    Hallo zusammen,

    ich möchte eine externe PHP-Datei einbinden. Ich habe bereits in diversen anderen Beiträgen gelesen, dass ich PHP-Dateien mittels {{file::datei.php}} einbinden kann. Die datei.php liegt wie vorgesehen im Templates-Ordner.

    Das einbinden funktioniert bis zu diesem Problem auch ohne Probleme. Das PHP-Skript wird ganz normal ausgeführt und das Ergebnis wird ausgegeben. Allerdings habe ich noch das Problem, dass die durch das Skript erzeugten Links nicht korrekt erzeugt werden.
    Das Skript soll sich folgendermaßen wieder selbst aufrufen: echo '<a href="'.$PHP_SELF.'?id=1">Link</a>;
    Der Link der auf diese Weise erzeugt wird ist nicht wie erwartet www.domain.de/pfad/datei.php?id=1 sondern www.domain.de/?id=1
    Welche Variable muss ich statt $PHP_SELF nutzen, damit der Link korrekt gebildet wird?

    Omicron

  2. #2
    Contao-Nutzer Avatar von Jogibär
    Registriert seit
    13.12.2009.
    Beiträge
    122

    Standard

    Hallo,

    ich bin kein PHP-Experte, deshalb eine Vermutung:
    Die erzeuge URL ist doch von Contao virtuell erzeugt, bzw. das Script ist ja schon eingelinkt, deshalb könnte es mit einem reinen PHP-Befehl nicht funktionieren.

    Grundsätzlich müsstest du doch durch Einbinden deiner Datei Zugriff auf das globale Contao-Objekt und die Variablen haben.

    Es gibt dort mehrere Variablen / Methoden, mit denen man Pfade, URLs und anderes abrufen kann,
    diese hatte ich bei mir mal getestet:


    PHP-Code:
     <?php
        
    echo "indexFreeRequest: " $this->Environment->indexFreeRequest "<br>";
        echo 
    "requestUri: " $this->Environment->requestUri "<br>";
        echo 
    "URL: " $this->Environment->url "<br>";
        echo 
    "Path: " $this->Environment->path "<br>";
        echo 
    "Base: " $this->Environment->base "<br>";
        echo 
    "Script: " $this->Environment->script "<br>";
        echo 
    "Request: " $this->Environment->request "<br>";
        
    ?>
    Setze diesen Block mal in dein Script, dann kannst du die für dich passendste Variante leicht herausfinden.

    Gruß
    Jürgen
    Geändert von Jogibär (03.04.2014 um 17:22 Uhr)

  3. #3
    Contao-Nutzer
    Registriert seit
    02.04.2014.
    Beiträge
    3

    Standard

    Hey Jürgen,

    danke für die Antwort. Leider ist hier keine passende Variable dabei. Auch hier wird als Skript nur die Contao index.php anstelle der eingebundenen datei.php ausgegeben.
    Hat vielleicht sonst noch jemand eine Idee?

    Viele Grüße,
    Martin

  4. #4
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.794

    Standard

    Laß das $PHP_SELF einfach weg und binde nur die Parameter ein. Contao generiert daraus einen korrekten Link und gibt die Parameter an das eingebundene Skript weiter.
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •