0

マイクロ ブログ サイトをシミュレートする基本的な Web アプリケーションを作成しています。

ユーザーがログオンすると、MySql クエリ結果からのアカウント情報の一部がセッション変数に格納され、ユーザーの追跡が可能になります。したがって、userID、userName、userEmail など..

ユーザーが送信をクリックすると、投稿の作成ページで、外部にリンクされた JavaScript ファイルが機能し始め、独自のイベント ハンドラーがあり、残りの部分に AJAX を使用してから、結果を現在の「投稿の作成 Web ページ」に出力します。

明らかに、投稿を作成するときにユーザー ID を保存する必要がありますが、それを AJAX に渡すことができないようです。

私が考えている解決策は、非表示の入力フィールドを作成し、ユーザー ID (数値) をプレースホルダーに入れ、JS ファイルで DOM を使用し、doc.getelementby を呼び出してユーザー ID を調べることです。投稿のタイトルと投稿のコンテンツに対してこれをうまく行うことができますが、明らかにユーザーIDを非表示にしたいので、投稿作成ページでユーザーから非表示にする方法はありますか(現在はphpセッション変数です)それを Ajax 関数に渡して投稿を作成しますか?

4

2 に答える 2

0

おそらく、AJAX スクリプトは、$_SESSION['userName']、$_SESSION['userEmail'] などを介してセッション変数にアクセスするバックエンド PHP ファイルを呼び出し、必要なことは何でも実行できます (たとえば、代わりに投稿を作成するユーザー)。

別の言い方をすれば、PHP は現在ログインしているユーザー (ユーザーがアクセスできないセッション変数によって識別されます) に作用し、JavaScript はあなたが返信した応答に基づいて UI を更新します。

于 2013-03-15T03:21:48.767 に答える
0

非表示の入力を使用してアイデアを実行し、非表示フィールドでユーザー ID をハッシュするだけです。PHP を介してサーバー側でハッシュし、データベースに保存する前にハッシュ値を投稿して PHP を介して復号化することもできます。jQuery を使用すると、次の方法で非表示フィールドの値を取得できます。

val userID = $('#userID').val();

昔ながらのdocument.getElementById方法よりもわずかに作業が少なくなります。

于 2013-03-15T04:44:59.563 に答える