PHP-Variable in JavaScript übergeben [duplizieren]

8

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?

    
ptamzz 15.03.2011, 10:11
quelle

5 Antworten

14

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?

    
Chris 15.03.2011, 10:16
quelle
2

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.

    
sushil bharwani 15.03.2011 10:17
quelle
1

Sie könnten Ihren Server so einrichten, dass .js-Dateien als PHP analysiert werden. Zum Beispiel in Apache Config oder .htaccess Datei:

%Vor%     
Dan Herd 15.03.2011 10:27
quelle
0

versuche es mit der unteren Logik

%Vor%     
diEcho 15.03.2011 10:17
quelle
0

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.

    
Andre Backlund 15.03.2011 10:14
quelle

Tags und Links