Übergeben Sie eine Variable verzögert an ein HTML-Element in einer PHP-Seite oder ersetzen Sie sie durch einen aktualisierten Wert
<p><br /></p>
<pre class="brush:bash;toolbar:false;">/public/register.php ## [1] „öffentliches“ Registrierungsformular
/public/js/checkout.js ## [2] „öffentliche“ Zahlungsabwicklung
/src/register.php ## [3] „private“ zusätzliche Verarbeitung
</pre>
<ul>
<li>[1] Laden über <code><script src="js/checkout.js"></script></code>
<li>[1] via <code>require __DIR__ '/../src/register.php';</code> enthält [3]</li>
</ul>
<p>[1] enthält ein HTML-Element (als HTML-Code in der PHP-Datei enthalten, d. h. außerhalb des <code><php ... ?></code>-Tags): </p> ;
<pre class="brush:html;toolbar:false;"><div id="secret" style="display: none;">
<?php
echo htmlspecialchars($secret_var);
?>
</div>
</pre>
<p><code>$secret_var</code> wird in [3] deklariert/instanziiert. </p>
<p>[2] Diese JS-Datei enthält </p>
<pre class="brush:js;toolbar:false;">var div = document.getElementById("secret");
var Secret_var = div.textContent;
console.log(secret_var)
</pre>
<p>[3] enthält</p>
<pre class="brush:php;toolbar:false;">session_start();
// Verarbeitungscode des Zahlungspartners, Antwort
$secret_var = json_encode(array(secret_var);
$_SESSION['secret_var'] = $secret_var;
</pre>
<p><code>$secret_var</code> wird als <code>$_SESSION</code>-Variable von [3] an [1] übergeben, wo [2] sie abruft. </p>
<p>Beim Echo von <code>$secret_var</code> im Browser der <code>console.log</code>-Anweisung wird <code>null</code> zurückgegeben. </p>
<p>Beim Echo von <code>$secret_var</code> von <code>src/register.php</code> (angezeigt auf der gerenderten <code>registration.php</code>-Seite). hat den richtigen (String-)Wert. </p>
<p>Wie kann ich die Übergabe von <code>$secret_var</code> an das HTML-Element <code>#secret</code> verzögern oder es durch einen aktualisierten Wert (nicht Null) ersetzen? </p>