2011-11-26 61 views
0

Possible Duplicate:
Passing PHP variable into JavaScript如何在JavaScript中使用PHP變量?

我想獲得一個PHP變量,以便在JavaScript中使用它的if條件。

我試圖用這樣的:

var phpLogin = <?php $_SESSION['login'] ?>; 

但它錯在語法方面。那麼,我如何在JavaScript中使用PHP變量呢?

+2

變種phpLogin = ;你忘記了回聲變化。並檢查是否存在的關鍵在$ _SESSION回聲...... –

+0

和可能之前更http://stackoverflow.com/search?q=[php]+pass+php+variable+to+javascript – Gordon

回答

3

使用json_encode,不要忘記echo

var phpLogin = <?php echo json_encode($_SESSION['login']) ?>; 
+0

在PHP中沒有分號碼? – Tim

+0

@Tim在這種情況下沒有必要。 – Artefacto

+0

OP也沒有表明返回的數據被希望是JSON格式 – Tim

2

您忘記了echo

<?php echo $_SESSION['login']; ?> 

或只是

<?=$_SESSION['login']?> 
+0

在第二個示例中沒有半結腸終止PHP代碼 – Tim

+1

避免使用短標籤。 – dlondero

2

在你的代碼的問題是,你忘了echo

var phpLogin = <?php echo $_SESSION['login'] ?>; 
1

嘗試: var phpLogin = "<?php =$_SESSION['login']; ?>";

+0

我試過了,但不幸的是,它將它作爲字符串返回。 「<?PHP = $ _ SESSION [ '登錄'];?>」: 像'',而不是一個PHP變量。 –

1

它可能看起來像矯枉過正,但出於安全原因,您應該使用json_encode直接echo'ing到PHP:

var phpLogin = <?=json_encode($_SESSION['login'])?>; 

或者在其較長的形式:

var phpLogin = <?php echo json_encode($_SESSION['login']); ?>; 

或者,也接受空會話:

var phpLogin = <?php echo @json_encode($_SESSION['login']); ?>; 

這會簡單輸出NULL時,有沒有登錄會話。