Einbindung PHP Script

Read-Only-Modus

Das 01-Supportforum befindet sich im Read-Only-Modus. Es ist nicht mehr möglich sich zu registrieren, neue Themen zu erstellen oder auf bestehende Themen zu antworten.

Alle Inhalte stehen bis auf absehbare Zeit jedoch weiterhin lesend zur Verfügung.


Bei Fehlern oder Problemen mit PHP-Scripten von 01-Scripts.de erstellen Sie gerne einen Issue-Eintrag auf Github oder nehmen Sie per E-Mail Kontakt auf.

  • Habe jetzt entnervt aufgehört...


    Ich weiß beim besten Willen nicht, wie ich die Newsletter Anmeldung auf meiner Homepage zum Laufen bekomme.


    Habe die 01scpript Dateien wie empfohlen auf den Server hochgeladen, alle Berechtigungen gesetzt und das Newsletter Modul installiert.

    Also, das Script liegt jetzt im Hauptverzeichnis unter https://.../01scripts/...

    Darunter folgen die weiteren Unterordner, genauso wie im Upload Paket.


    Soweit so gut, alles funktioniert.


    Auf der Homepage habe ich zwei leere Webseiten (testseite und testseite2) erstellt, eine für die Anmeldung und eine für das PHP Script.

    Diese Seiten liegen im Unterverzeichnis /pages/ also wie folgt https://.../pages/testseite.php


    1) In die erste habe ich den Code für das Formular eingetragen und als Zieladresse den Pfad zu der zweiten Seite.


    2) In die zweite Seite (https://.../pages/testseite2.php) habe ich den Code wie folgt eingetragen:


    <?PHP

    $subfolder = "01scripts/";

    $modul = "01newsletter/";


    include($subfolder."01module/".$modul."01newsletter.php");

    ?>


    3) Zum Schluß noch im ACP des Newsletters eingetragen die Adresse https://.../pages/testseite2.php als Zieladresse für das Script.


    Jetzt sollte eigentlich alles funktionieren, tut es aber nicht!



    Das Anmeldeformular funktioniert auch irgendwie, also nach Klick auf Go ändert sich die URL, danach erscheint die zweite Seite - allerdings vollkommen leer.


    Ich habe das Script in verschiedenen Bereichen der testseite2.php probiert, außerhalb von HEAD und BODY, innerhalb von HEAD, innerhalb von BODY. Egal wie, kein Erfolg.



    Nun weiß ich auch nicht mehr weiter. Also entweder ist das php Script nicht richtig konfiguriert, die 01newsletter.php fehlerhaft oder alles zusammen kommt mit der SSL Verschlüsselung der Seite nicht klar.


    Hat jemand eine Idee? Bin für jeden Vorschlag dankbar!

  • Hallo,


    da Sie die PHP-Seite (testseite2.php) in einem Unterverzeichnis angelegt haben, muss der PHP-Code zum Einbinden des Newslettersystems folgendermaßen lauten:


    Code
    1. <?PHP
    2. $subfolder = "../01scripts/";
    3. $modul = "01newsletter/";
    4. include($subfolder."01module/".$modul."01newsletter.php");
    5. ?>

    Damit sollte die Seite dann nicht mehr leer bleiben.


    MfG,

    Michael

  • Die Seite bleibt weiterhin leer, bzw. gestört. Denn es wird jetzt nicht einmal mehr das Template übertragen (keinerlei Quellcode).


    So schön wie sich 01scripts zunächst anfühlt, so schwierig scheint allerdings die praktische Umsetzung zu sein. Das Einbinden der 01newsletter.php ist das Problem. Vielleicht liegt das Problem innerhalb dieser Datei. Ich verwende PHP 7.1

  • Hallo,


    Sie können folgendes Versuchen:

    Verzichten Sie für Testzwecke im ersten Schritt auf eine Verzeichnisstruktur mit mehreren Unterordnern. Sorgen Sie statt dessen erstmal für folgende Struktur:


    Code
    1. Root-Verzeichnis
    2. -01scripts/*/
    3. -testpage.php
    4. -testpage2.php


    Verwenden Sie dann folgenden PHP-Code um den 01-Newsletter in eine Seite einzubinden:


    Code
    1. <?PHP
    2. $subfolder = "01scripts/";
    3. $modul = "01newsletter/";
    4. include($subfolder."01module/".$modul."01newsletter.php");
    5. ?>


    Wenn das funktioniert können Sie sich daran machen ihre gewünschte Unterverzeichnis-Struktur zu nutzen. Sie müssen dabei immer den Pfad in der $subfolder-Variable entsprechend anpassen.

    Sollte die Seite weiterhin leer bleiben, verwenden Sie bitte folgenden Code der das PHP Errorreporting einschalten sollte und weitere Hinweise zum Problem liefern sollte:

    Code
    1. <?PHP
    2. error_reporting (E_ALL);
    3. $subfolder = "01scripts/";
    4. $modul = "01newsletter/";
    5. include($subfolder."01module/".$modul."01newsletter.php");
    6. ?>


    MfG,
    Michael

  • Auf eine Verzeichnisstruktur zu verzichten geht bei mir leider nicht. Verwende ein CMS, das eine Struktur vorgibt.


    Da das Error Reporting auch nicht funktioniert, jedenfalls bekomme ich auch nur eine leere Seite angezeigt, glaube ich nicht an ein Problem mit der Einbindung des Scripts.


    Ich vermute einen Fehler in der 01newsletter.php. Denn alle Probleme entstehen erst, wenn diese Datei ihren Inhalt in der Webseite anzeigen soll. Dort scheint meines Erachtens die Wurzel des Problems zu liegen. Irgendwie verträgt sich da etwas nicht mit meinem CMS oder der SSL Verschlüsselung der Seite.

  • Nunja, dass das Einbinden über ein extra CMS erfolgt ist keine ganz unwichtige Information.

    Ich gehe stark davon aus, dass dies die Ursache des Problems ist und entweder Kompatibilitätsprobleme mit manchen Variablen auftreten oder mit den Pfaden etwas nicht passt.

    Aus der Ferne kann ich dazu aber leider nicht viel mehr sagen / helfen.


    An der SSL-Verschlüsselung liegt es aber ziemlich sicher nicht.


    MfG,
    Michael

  • Schade, dass der Implementierung von 01scripts in eine durch ein CMS erstellten Seite Grenzen gesetzt sind. Eigentlich sollte dies nicht so sein, da CMS heutzutage die übliche Form moderner Homepages sind. Da kann man wohl nichts machen.

    Trotz alledem vielen Dank für den Support.

  • Bin jetzt im nachhinein auf die Idee gekommen, das diskutierte Script in eine vollständig leere Datei einzufügen, diese testseite2.php zu nennen und in das Verzeichnis von .../01scripts/ hochzuladen. Habe dann noch einmal den Pfad im 01scripts admin und der Webseite angepasst und das ganze dann über die Homepage ausgeführt. Und siehe da: Es funktioniert!


    Das das Script innerhalb des CMS Templates nicht funktionierte muß also tatsächlich am Code im Template gelegen haben. Werde jetzt die leere Datei mit dem Script ein wenig an die Homepage heran gestalten und dann alles noch einmal ausgiebig testen.