0

重複の可能性:
javascript(.js)ファイル内にPHPを含める

私はしばらくの間探していましたが、私の場合に有効な答えを見つけることができたようです。

私は現在、header.jsファイル(私のヘッダーファイル)を持っています。その中に、ユーザーがログインするためにlogin.phpにリンクされる「login」という単語があります。ユーザーが私のWebサイトに正常にログインした後、header.jsファイル内の「login」という単語を別の単語に変更するにはどうすればよいですか。(たとえば、Hello "User name"で、ユーザーはログインしていることがわかります)jsファイルでphpを使用したり、js内でphpファイルを呼び出したりするにはどうすればよいですか?これを達成するためのより良い方法はありますか?

よろしくお願いします。

4

2 に答える 2

1

header.php または header.js.php という名前を付けて、header.js.php の中に入れます

<?php
session_start();
?>
<script type='text/javascript' language='Javascript'>
<?php
 if($_SESSION['loggedIn']){
?>
    document.write('Hello <?=$VrUserName?>');
<?php
} else{
?>
 document.write('<a href="/login.php">login</a>');
<?php
}
?>
</script>

別の方法 (これにより、.php ファイルがキャッシュされないため、header.js がブラウザーによってキャッシュされるようになります) header.js の前。

于 2012-09-21T17:25:09.427 に答える
1

Ajax 経由で行うこともできます。

var linkName;
$.ajax({
    url: "check_login.php",
    dataType: "json",
    success: function(json){
        if(json.data != '')
            linkName = "Welcome!";
        else
            linkName = "<a href='#'>Login</a>";
    }
});

check_login.php ファイルで、ユーザーがログインしているかどうかを確認し、json_encode($results); をエコーし​​て結果を json エンコードされた配列として返すことができます。

ユーザーのユーザー名を返し、その時点で linkName に追加することもできます。

var linkName = "Welcome!"+json.data.username;

応答: (「check_login.php ファイルの十分なコードを見せてもらえますか?」)

はい、デモンストレーションしたいファイルの特定の側面はありますか? このファイル内のロジックは、ユーザーのログイン ステータスをどのように設定しているかによって異なります。セッションを使用している場合は、次のようになります。

<?php
$user = Array();
if(isset($_SESSION['logged_in']))
{
    $user['logged'] = 'true';
    $user['name'] = 'James';
}

echo json_encode($user);
?>
于 2012-09-21T18:00:39.550 に答える