1

<input>タグを介してキーを入力するようにユーザーに要求するページがあります。$_SESSION['sessionKey']ユーザーがボタンをクリックしたときに、この情報を保存したいと思います。キーを適度に安全に保とうとしているので、この情報を GET または POST 経由で渡すことは避けたいと思います。

私がオンラインで見つけたもののほとんどは、これが GET/POST を使用して行われたことを示しており、このアプローチを使用しないメソッドに関する情報を見つけるのに苦労しています。私はこの質問を見つけました.phpの拡張子を持つファイルにJavaScriptを入れ、そこからPHPタグを使用して$_SESSION変数を取得することを提案しています。私はこのアプローチに従いました...

javascript.php

<?php
require ("common/startandvalidate.php");
?>

$(document).ready(function() {
    $("#submitButton").click(function(){
        <?php $_SESSION['sessionKey']?> = $("#sessionKeyInput").value;
    });
});

mainPage.php

<head>
   <script src="javascript.php"></script>
   <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
</head>

<input id="sessionKeyInput" placeholder="Session Key" />
<input id="submitButton" value="Submit" type="button" />

Inspector (Chrome) でページを見ると、次のエラー メッセージが表示されます。

Undefined index: sessionKey

require("common/startandvalidate.php");含まれてsession_start()いるため、セッションが開始されています...

以前に宣言されたことがないため、機能していないと思う$_SESSION['sessionKey']ので、値を割り当てたいのに、未定義の変数の内容を見ようとしています。この値を $_SESSION 変数に割り当てるにはどうすればよいですか?

簡単な質問で申し訳ありませんが、リソースをいただければ幸いです。

4

2 に答える 2

3

$_SESSIONは PHP 配列であるため、Javascript を介してクライアント側で設定することはできません。配列に格納するには、値をサーバーに送信する必要があります。

あなたが指摘した質問は、からデータを取得する方法を示していますが、データ$_SESSIONの保存には機能しません。

コンソールに表示される「Undefined index: sessionKey」というエラーは、指定された Javascript 配列に$_SESSION「sessionKey」という名前のキーがないことを意味します。

于 2013-07-16T14:05:07.853 に答える