1

誰かがちょっとした問題で私を助けてくれませんか。ユーザーがこのようにphpサイトにログインすると、セッション値が保存されます<?php echo $_SESSION['SecurityID_ContactName']; ?>

これらの値をサイト全体で再利用して、ログインしているユーザー名を表示できますが、フォームを作成する外部 js ファイルにこの値を保存する必要があります。これにより、ログインしたユーザー名がフォームフィールドに配置され、mysql に送信されますか?

js ファイル内のフォームには、次のようなフィールドがあります。

        form += '<label>Name</label>';
        form += '<input type="text" id="author" placeholder="Your name" />';

これを編集して、セッションをそのまま保持します。

        form += '<label>Name</label>';
        form += '<input type="text" id="author" value="<?php echo $_SESSION['SecurityAssist_ContactFullName']; ?>  />'";

これは機能しません。php ページから js スクリプト全体を削除するだけなので、実際のエラーはありませんか? セッション値を js ファイルに保存できますか?

敬具

4

2 に答える 2

2

data-タグの属性など、HTML に保存することもできますbody

<body data-username="<?php echo $_SESSION['SecurityAssist_ContactFullName']; ?>">

getAttribute()たとえば、次のように Javascript でクエリを実行できます。

var userName = document.body.getAttribute('data-username');
...
form += '<input type="text" id="author" value="' + userName + '";

ここに小さなデモがあります

クロスブラウザのサポートについては、jQuery (attr()またはdata())を使用するか、この質問を確認することもできます。


もう1つの(IMOのクリーン度が低い)解決策は、Javascriptファイルの名前を.php. この場合、Web サーバーが実行するため、内部で PHP コマンドを使用できます。この場合、適切なヘッダーを送信する必要があります ( Content-type: text/javascript)。

于 2012-04-11T08:24:34.140 に答える
0

引用符の順序が間違っているだけです。次のように変更します。

form += '<input type="text" id="author" value="<?php echo $_SESSION['SecurityAssist_ContactFullName']; ?>" />';
于 2012-04-11T08:37:19.137 に答える