Übergeben Sie eine Variable verzögert an ein HTML-Element in einer PHP-Seite oder ersetzen Sie sie durch einen aktualisierten Wert
P粉253800312
P粉253800312 2023-08-17 22:55:08
0
1
462


/public/register.php ## [1] „öffentliches“ Registrierungsformular /public/js/checkout.js ## [2] „öffentliche“ Zahlungsabwicklung /src/register.php ## [3] „private“ zusätzliche Verarbeitung 
  • [1] Laden über
  • [1] via require __DIR__ '/../src/register.php'; enthält [3]

[1] enthält ein HTML-Element (als HTML-Code in der PHP-Datei enthalten, d. h. außerhalb des -Tags):

;
 

$secret_var wird in [3] deklariert/instanziiert.

[2] Diese JS-Datei enthält

var div = document.getElementById("secret"); var Secret_var = div.textContent; console.log(secret_var) 

[3] enthält

session_start(); // Verarbeitungscode des Zahlungspartners, Antwort $secret_var = json_encode(array(secret_var); $_SESSION['secret_var'] = $secret_var; 

$secret_var wird als $_SESSION-Variable von [3] an [1] übergeben, wo [2] sie abruft.

Beim Echo von $secret_var im Browser der console.log-Anweisung wird null zurückgegeben.

Beim Echo von $secret_var von src/register.php (angezeigt auf der gerenderten registration.php-Seite). hat den richtigen (String-)Wert.

Wie kann ich die Übergabe von $secret_var an das HTML-Element #secret verzögern oder es durch einen aktualisierten Wert (nicht Null) ersetzen?

P粉253800312
P粉253800312

Antworte allen (1)
P粉895187266

猜测您在执行顺序方面遇到了问题,比如在DOM中甚至还不存在

时,[2]脚本就已经执行了。您可以在输出之前,简单地在[1]处添加类似于的内容,这样它就在checkout.js执行之前就是公开的并且已知的,而且已经作为变量存在,无需读取元素内容。或者只需使用事件,如window.onload来执行[2]对元素的读取。

如果该秘密值发生变化并且您需要进行更新,您可以定期检查变化,或者更好地在使用之前请求最新的值。

请注意,您输出到客户端的任何内容都不再是秘密,如果您真的想保护某个值,您必须将其仅保留在服务器端,这在像支付网关的API密钥等情况下非常重要。服务器端意味着将秘密存储在数据库或会话中。然后,每当您需要与远程服务交互时,只需调用PHP脚本(例如ajax)在服务器端执行该任务,这样您就将秘密的使用分离到仅限服务器端,然后您无需将其传递给客户端或请求更新。

    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!