PHP-Code wird von zeta-producer selbsttätig verändert

  • Hallo,

    ich verwende einen php-code zur Datenbankabfrage und Ausgabe einer anwenderdefinierten Liste.

    Dieser hat auch lange Zeit unverändert seinen Dienst verrichtet. (Wahrscheinlich) Nachdem zeta16 installiert wurde, ändert das Programm den Code indem aus [$i] <$i] gemacht wird (also: spitze Klammer statt eckige)

    Beispiel:

    while ($catarr<$i]) {

    echo "<option value='".$catarr<$i][category]."'>".$catarr<$i][category]." (".$catarr<$i][z].")"."</option>";

    $i++;

    }

    (Den gesamten php-Code zu posten, ist wenig hilfreich.)

    Logischerweise kann die Seite https://www.memleb.de/klassische-stuecke.php dann nicht korrekt bzw. gar nicht dargestellt werden.

    Nach jeder Veröffentlichung einer Seite muss ich den korrekten Quelltext der og. Seite via ftp auf meinen Server laden.

    Das ist lästig.

    Für eine hilfreiche Unterstützung wäre ich schon ziemlich dankbar.

    Beste Grüße

    W. Memleb

  • Fügen Sie den PHP Code bitte über das Widget „Quelltext“ ein, dann wird er nicht verändert.

    Freundliche Grüße
    Stefan S. (Zeta Producer-Support)

  • Moin,

    genau das habe ich gemacht. (kompletter PHP-Code im Anhang)

    Im Widget (nur zugänglich via F8, da die Seite nicht dargestellt wird, [Ctrl+Shift+T zeigt keine Wirkung]) wird der Quelltext auch korrekt angezeigt.

    Bei Vorschau wird die Seite erzeugt und der Fehler im Browser angezeigt:

    Parse error: Unclosed '(' does not match ']' in C:\Users\xyz\Documents\Zeta Producer 16\Projects\Memleb Texte und Geschichten\output\klassische-stuecke.php on line 571

    Hinweis:

    Die benötigten INCLUDE-DATEIEN sind auch im Verzeichnis \output\phpscript hinterlegt.

    Wo liegt derFehler?

    Freundliche Grüße

    W. Memleb

  • Hallo,

    ändern Sie im Code bitte mal alle Stellen mit [$i] in [/**/$i] ab.

    Also beispielsweise so:

    Code
    <?PHP
        echo "<option value=''>beliebig</option>";
        $i=0;
        while ($catarr[/**/$i]) {
            echo "<option value=\"".$catarr[/**/$i][category]."\">".$catarr[/**/$i][category]." (".$catarr[/**/$i][z].")"."</option>";
            $i++;
        }
    ?>

    Funktioniert das besser?

    Freundliche Grüße
    Steffen T. (Zeta Producer-Support)

  • Wolfgang Memleb sorry, da hatte ich Ihren Beitrag zu schnell gelesen. Ergänzend zum Kollegen: Das ist ein Problem mit dem Parser für Zeta Scripting Befehle, die in jedem Code enthalten sein können (z.B. <$ page.name $>), das wir nicht ohne weiteres beheben können.

    Als Workaround für PHP Arrays sollte aber sogar ein Leerzeichen genügen. Also z.B. $array[ $i] statt $array[$i]

    Freundliche Grüße
    Stefan S. (Zeta Producer-Support)

  • Moin,

    danke für die schnelle Hilfe und vor allem für die Erklärung, warum php-array-code nicht so ohne weiteres funktioniert.

    Mit einem Leerzeichen klappt's genauso gut.

    Mit einem herzlichen Glückauf

    W. Memleb

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!