Ich habe während der Sitzung eine PHP-Sitzungsvariable, $_SESSION['user']
, am Leben. Im Kopfbereich habe ich meine JavaScript-Datei enthalten, scripts.js
.
Wie übergebe ich die Sitzungsvariable an die JavaScript-Datei, wenn ich etwas wie das Folgende möchte.
%Vor% Da das <?php ?>
in der JavaScript-Datei nicht erkannt wird, funktioniert der obige Code nicht. Also muss ich die PHP-Datei selbst einfügen, aber wie behalte ich sie in der JavaScript-Datei?
In Ihrer PHP-Datei können Sie Ihren Benutzer als eine globale Variable festlegen:
%Vor%Fügen Sie dies ein, bevor Sie Ihren externen JavaScript-Code einfügen.
Dann können Sie es in Ihrer JavaScript-Datei verwenden:
%Vor% Zusätzlich:
Wenn Sie nicht sicher sind, ob Ihre Sitzungsvariable selbst Anführungszeichen enthalten kann, können Sie addslashes()
verwenden, um dieses Problem zu beheben:
<?php echo addslashes($_SESSION['user']); ?>
, auch wenn dies möglicherweise etwas erzeugt, das Sie nicht wirklich anzeigen möchten (weil es eine Zeichenfolge mit Schrägstrichen erzeugt), hilft es, dass Ihr Code nicht fehlschlägt. (Danke an Artefacto)
Wäre das eine Option für Sie?
Legen Sie die Benutzer-ID (in PHP) in einem Eingabe-Typ fest, der in Ihrer Datei verborgen ist. In Ihrem JavaScript-Code können Sie den Wert der versteckten Eingabearten lesen.
Parsen Sie die enthaltene JavaScript-Datei als PHP
Erstellen Sie eine .htaccess-Datei in Ihrem JavaScript-Verzeichnis und fügen Sie die folgende Zeile hinzu.
%Vor% <?php ?>
Tags werden bis jetzt von Ihrer JavaScript-Datei erkannt.
Verwenden Sie Ajax, um die Benutzer-ID abzurufen
Erstellen Sie eine Datei namens getID.php, die nur die Benutzer-ID enthält. Dann können Sie in Ihrer JavaScript-Datei den folgenden Code verwenden.
%Vor%Erstellen Sie ein Skript-Tag, bevor Sie die JavaScript-Druckbenutzer-ID einfügen.
%Vor%Sie haben nun Zugriff auf die Benutzer-ID mit der Variablen userID.
Tags und Links javascript php