Wie füge ich einen PHP-Block auf einer Seite ganz oben ein (vor dem HTML?
Folgende Anweisung habe ich erhalten:
A. PHP-Block am Seitenanfang (vor dem HTML!)
👉 Diesen Code ganz oben auf der Seite einfügen:
👉 Diesen Code ganz oben auf der Seite einfügen:
Hallo Pete,
das kannst du so machen: füge ein Quelltext-Widget auf der Seite, auf der der PHP-Code ausgegeben werden soll, ein.
Dort kannst du folgenden Code nutzen, um PHP vor dem HTML auszuführen:
Den Teil echo "Hello World"; musst du natürlich mit dem richtigen Code ersetzen. Wenn du den Code hier teilen kannst, schreiben ich dir das gerne entsprechend um, dass du es nur noch einsetzen musst.
Hi Phil, es geht um diesen Code:
<?php
session_start();
$data = $_SESSION['formdata'] ?? [];
?>
Ich bin immer noch an meinem Kontaktformular, bei welchem Du mir auch schon geholfen hast. Leider klappt die andere Variante immer noch nicht ganz, ich hatte dich im Thread nochmal "angekickt".
Hi Pete,
verstehe, den Code kannst du so einfügen:
<$
var php = '<?php';
php += 'session_start();';
php += '$data = $_SESSION["formdata"] ?? [];';
php += '?>';
system.addFinishScript(php)
$>
Da fehlt dann allerdings ja noch ein Teil (vermutlich irgendwo im Inhaltsbereich), der $data abfragt und damit etwas macht.
Danke Phil
Ja, das würde dann so weiter gehen:
B. Im Seiteninhalt (z. B. im CMS-HTML-Block) einfügen:
Mal schauen, ob ich das hinkriege und es dann auch funktioniert...
<?php if (!empty($data)): ?>
<section class="danke-formular">
<h2>Vielen Dank, <?php echo htmlspecialchars($data['vorname']); ?>!</h2>
<p>Wir haben Ihre Nachricht erhalten und werden uns baldmöglichst bei Ihnen melden.</p>
<h3>Zusammenfassung Ihrer Angaben:</h3>
<ul>
<li><strong>Anrede:</strong> <?php echo htmlspecialchars($data['anrede']); ?></li>
<li><strong>Name:</strong> <?php echo htmlspecialchars($data['vorname'] . ' ' . $data['namen']); ?></li>
<li><strong>E-Mail:</strong> <?php echo htmlspecialchars($data['email']); ?></li>
<li><strong>Telefon:</strong> <?php echo htmlspecialchars($data['telefon']); ?></li>
<li><strong>Nachricht:</strong> <?php echo nl2br(htmlspecialchars($data['notizen'])); ?></li>
</ul>
</section>
<?php else: ?>
<p>Vielen Dank für Ihre Nachricht. (Es konnten keine übermittelten Daten angezeigt werden.)</p>
<?php endif; ?>
Alles anzeigen
phil-web Leider hat das nicht geklappt, mit dem php-Code einfügen, kommt sofort die Fehlermeldung. Den 2. Teil habe ich noch nicht eingefügt. (Müsste ich diesen eventuell zuerst einfügen?)
Fehlermeldung ist weg, Rest kann ich erst morgen prüfen, muss leider los zum nächsten Termin.
Vielen Dank phil-web !
phil-web
Hallo Phil, die Fehlermeldung ist weg, allerdings dann auch die Seite.
Wenn ich den Code in Zeta "ausblende" wird die Seite wieder angezeigt.
Hast Du mir noch eine Idee woran dies liegen könnte?
Danke und Gruss
Pete
Hi Pete,
vielleicht wird durch das Kontaktformular (oder ein anderen Code von ZP) schon eine Session gestartet, was bei einem erneuten Aufruf von session_start() zu einem PHP-Fehler führen kann. Probier bitte mal folgenden Code aus:
<$
var php = '<?php';
php += 'if (session_status() === PHP_SESSION_NONE) {';
php += 'session_start();';
php += '}';
php += '$data = $_SESSION["formdata"] ?? [];';
php += '?>';
system.addFinishScript(php)
$>
Ansonsten müsste man mal in den Logs des Webservers nachschauen, da sollte der genaue Fehler aufgeführt sein.
Hallo Phil phil-web
Ich glaub ich sollte die Finger von Sachen lassen, die ich nicht mehr begreife....
Wie komme ich in die Logs des Webservers?
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!
Wenn Sie neu bei uns sind, hilft Ihnen unsere Hilfe-Seite dabei, sich im Forum zurechtzufinden. Dort erfahren Sie alles Wichtige, von der Registrierung bis hin zur Erstellung eigener Themen (Fragen).
Ohne Programmierkenntnisse gleich mit Zeta Producer loslegen. Layout auswählen, Text eingeben – fertig. Kostenloser Support und über 99% zufriedene Kunden. Überzeugen Sie sich selbst!