6

いくつかの JavaScript 関数を作成しようとしていますが、ユーザーがログインしているかどうかを確認する必要があります。ユーザーがサイトにログインすると、is_logged という名前のセッション配列に変数を設定します。javascriptでその変数に到達したいのですが、それは可能ですか??? いくつかの方法を試しましたが、次のようには機能しませんでした。

var session = "<?php print_r $_SESSION['is_logged']; ?>";
alert(session);

と:

var session = '<?php echo json_encode($_SESSION['is_logged']) ?>';
alert(session);

テキストを表示するか、まったく警告しないかのいずれかです

4

6 に答える 6

6

エコーするだけです:

var session = <?php echo $_SESSION['is_logged']?'true':'false'; ?>;
alert(session);

空の文字列としてエコーされるため、JS 構文エラーにfalseつながるため、3 番目の演算子が必要です。var session = ;

于 2013-06-24T08:26:02.390 に答える
2

JavaScript で $_SESSION のすべての要素にアクセスしたい場合は、json_encode を使用できます。

<?php
session_start();
$_SESSION["x"]="y";
?>

<script>
 var session = eval('(<?php echo json_encode($_SESSION)?>)');
 console.log(session);

//you may access session variable "x" as follows
alert(session.x);
</script>

ただし、すべての $_SESSION 変数をクライアントにエクスポートすることはまったく安全ではないことに注意してください。

于 2013-06-24T08:32:51.150 に答える
0

このようなことができます

$_SESSION['is_logged']のような隠しフィールドに挿入するだけです

<input type = "hidden" value = "<?php echo $_SESSION['is_logged']; ?>" id = "is_logged" />

次に、このようにjqueryでアクセスできます

var is_logged = jQuery.trim($('#is_logged').val());
//then do validation here
于 2013-06-24T08:33:40.683 に答える
0

js ファイルでは、php 変数の値を取得できません。または、php コードは .php 拡張ファイルで機能するため、php コードは js ファイルで機能しません。したがって、1 つの方法は、セッション値を隠し要素の値として設定し、js ファイルで隠し要素の値を取得することです。

HTMLで:

<input type="hidden" id="sess_var" value="<?php echo $_SESSION['is_logged']; ?>"/>

あなたのjsで:

var session = document.getElementById('sess_var').value;
alert(session);
于 2013-06-24T08:27:52.817 に答える
0

次のコードを試してください。

var session = "<?php echo $_SESSION['is_logged'] ?>";
于 2013-06-24T08:28:39.693 に答える
-5
   var get_session=<?php echo $_SESSION['is_login'] 

  alert(get_session);
    ?>

## *これを試してみてください * ##

于 2013-06-24T08:31:14.953 に答える