2016-04-12 7 views
-2

私は次のように配列を格納するPHPページに設定されたセッションがあります。JavaScriptの配列であるセッション値を取得する方法は?

firstpage.php

$_SESSION["Counts"]=$some_array; 
    echo print_r($_SESSION["Counts"]); 

出力:

の.jsページ のセッションデータを取得
Array ([Finance] => Array ([0] => 0 [1] => 3 [2] => 0 [3] => 0 [4] => 1) 
[Human resources] => Array ([0] => 1 [1] => 5 [2] => 1 [3] => 0 [4] => 0) 
[Infrastructure] => Array ([0] => 0 [1] => 3 [2] => 1 [3] => 0 [4] => 0)) 1 

をSecondJSpage.js

<script type="text/javascript"> 
var sessionValue= new Array(); 
var s= new Array(); 
var s1= new Array(); 

sessionValue = '<?php $_SESSION["Counts"]; ?>'; 
document.write(sessionValue); //Does not output anything 

for(s1 in sessionValue) { 
for(s in s1) { 

    document.write(s);  //Does not output anything 
    document.write("<br />"); 
}} 
</script> 

配列のみが取り出されていません。単純なセッション変数が表示されています。この問題を解決するには?

答えて

0

の変化を、このラインアップを少し..

sessionValue = <?php echo json_encode($_SESSION["Counts"]); ?>; 
+0

それは大丈夫です...私は何らかの方法でエコーしたくないです。ちょうど –

+0

@AishwaryaRこれはjavascriptの配列をエコーする方法です。それを試してみてください。 –

+0

私は(私たちはすべて殴られてしまった)でしたが、あなたの答えは実際には有効ではないからです。 OP(SecondJSpage.js)のようなjavascriptファイルでは、あなたの答えは明白な理由のために解析されません(PHPが.jsファイル内で解析されない、バックエンドでいくつかの魔法を使わない限り、 。私はちょうどOPが最初の投稿で書いたものをちょうど打ち明けています: ".jsページのセッションデータの取得SecondJSpage.js" – Marcus

0

この目的でjson_encode()を使用してください(JavascriptではJSONを処理できます)。

マニュアルを参照してください:http://php.net/json_encode

+0

JSONはJavaScriptを表しにおけるJとS(SecondJSpage.js以内にPHPを解析しようとしている)の.jsファイル内のPHPを実行することはできません; P –

+0

@Pamblamを:はい、ちょうど、私はちょうどユーザーのためにそれを明確にしたかった。 :) – Andreas

+0

json_encode()が動作しました。しかし、それはjavascriptでPHPを使用することは大丈夫です...? –

0

をあなたがすることができませんecho配列。

<?php echo $_SESSION["Counts"]; // this is an array ?> 

そして、あなたはどちらか

+0

PHPはサーバー側のスクリプトですから...これはセッションを取得する有効な方法ではありませんか?それではjsでセッションを使用する方法は? –

+0

javascriptをインライン展開してPHPファイル(firstpage.php)に埋め込むことができます。しかし、別の.jsファイルを作成してその中でPHPを実行することはできません。 – Marcus

+0

よろしくお願いします –

関連する問題