PHP Aufruf für zu Restricted access

  • Joomla Version
    Joomla 4
    PHP Version
    PHP 8.1.x
    Hoster
    1und1

    Hallo zusammen und Gratulation zu eurem tollen Forum. Ich war bisher immer nur fleißiger Leser hier. Nun muss ich selbst mal fragen, da ich noch keine schlüssige Lösung zu meinem PRoblem gefunden hab. :(

    Ich möchte mit folgenden Code (u.a. fetch), nach klick auf einen Button eine weitere PHP-Datei aufrufen.

    Fehler:

    Leider gibt mir Joomla 4 immer den Wert "Restricted access" zurück.

    Frage:

    Wohl erlaubt joomla den Zugriff auf die PHP-Datei nicht. Aber Warum?

    Die Datei liegt im gleichen Verzeichnis als die jenige welche die Datei aufrufen soll. Allerdings muss ich ja einen Pfad im javascript angeben.

    Wie kann ich das Problem lösen?

    Der Code:

    Ich möchte mich vorab schon mal bei euch für eure Unterstützung bedanken.

    Grüße Daniel

  • Hmm aber ich befinde mich doch nicht wirklich außerhalb oder verstehe ich da was falsch...

    Die Datei liegt innerhalb der Installierten Joomla Website

    Sogar im gleichen Verzeichnis als die Datei (code oben) die das ganze aufrufen soll.

    Als include funktioniert es.... aber das geht bei mir nicht.... hast du einen Ansatz wie ich das Problem löse? Stehe völlig auf dem schlauch


    selbst der Aufruf eines so einfachen PHP code wird unterbunden.... Liegt es meiner Pfadangabe?

    code meine_php_datei.php

    PHP
    <?php
    defined ('_JEXEC') or die('Restricted access');
    
    
    $response = "Hallo von der PHP-Datei!";
    
    echo $response;

    Einmal editiert, zuletzt von Indigo66 (11. Januar 2024 um 13:09) aus folgendem Grund: Ein Beitrag von dafra mit diesem Beitrag zusammengefügt.

  • Es liegt mindestens daran:

    defined ('_JEXEC') or die('Restricted access');

    Die Konstante _JEXEC ist nicht definiert, weil deiner eigenen Datei das Joomla-Framework unbekannt ist, welches das _JEXEC definiert.

    In deinem ersten Script werden also auch die Klassen JFactory und JUri etc. pp. nicht funktionieren, egal, ob du die defined-Zeile nun entfernst, was keine gute Idee ist.

    Ich weiß zwar, dass man das durch ein paar mehr Zeilen hinbekommt, weiß sie aber nicht. Da muss wer anders helfen. Es wird aber auf so Gedöns rauslaufen https://gist.github.com/SniperSister/5…517bf14fb978336

  • Ich bin bei dem Thema leider immer noch nicht weiter.

    Muss ich die Datei als Plugin installieren oder ein Override erstellen um die PHP-Datei mittels URL in eine andere Datei lade?

    ein vorhandenes php-script wurde um einen javascript-aufruf "erweitert" und diese soll eine Funktion in einer anderen PHP Datei (meinephpdatei) laden.

    vielleicht hat jemand noch eine idee?