0

ユーザーがシステムにログインしているときに自分のテーマを選択するオプションがあり、このテーマは MYSQL データベースに設定され、ユーザーがログインするたびに呼び出されます。これは次のように呼び出されます。

<?php $_SESSION['SESS_THEME_NAME']; ?>

今、私はこれを PHP ファイルで動作させましたが、残念ながら Javascript で動作させる必要があります。そして、私はいくつかの助けが必要です。Google Chrome の開発者ツールを使用してコードを調べたところ、上記のコードが JavaScript ファイル内で解決されていないようです。JavaScriptファイル内のセッション変数にアクセスできないため、これは理にかなっています(Googleを検索して見つけたように).

コードは基本的に、MYSQL データベースから抽出された値に基づいて特定のスタイルシートを設定することになっています。したがって、データベースがDefault、スクリプトが Web ページにdefault.cssファイルを使用するように指示する必要があると言う場合。などなど。

これを書く私の試みは次のとおりです。

var themName="<?php $_SESSION['SESS_THEME_NAME']; ?>";

if (themeName == "Default") 
{
    document.write("<link re='stylesheet' type='text/css' href='css/mws-theme.css'>");
};
if (themeName == "Army")
{
    document.write("<link rel='stylesheet' type='text/css' href='css/mws-theme-army.css'>");
};
if (themeName == "Rocky Mountains")
{
    document.write("<link rel='stylesheet' type='text/css' href='css/mws-theme-rocky.css'>");
};
if (themeName == "Chinese Temple")
{
    document.write("<link rel='stylesheet' type='text/css' href='css/mws-theme-chinese.css'>");
};
if (themeName == "Boutique")
{
    document.write("<link rel='stylesheet' type='text/css' href='css/mws-theme-boutique.css'>");
};
if (themeName == "Toxic")
{
    document.write("<link rel='stylesheet' type='text/css' href='css/mws-theme-toxic.css'>");
};
if (themeName == "Aquamarine")
{
    document.write("<link rel='stylesheet' type='text/css' href='css/mws-theme-aquamarine.css'>");
};

これまでにどんな助けも素晴らしいものであり、非常に感謝しています! 締め切りに近づいています:/

4

2 に答える 2

3

この方法を複雑にしすぎていると思います。<link>PHPを使用してタグを直接書き出さないのはなぜですか?

$themes = array(
  'Default' => '',
  'Army' => '-army',
  'Rocky Mountains' => '-rocky'
  // etc...
);

echo "<link rel='stylesheet' type='text/css' href='css/mws-theme-{$themes[$_SESSION['SESS_THEME_NAME']]}.css'>";
于 2013-06-26T04:16:56.710 に答える
1

「今、私はこれを PHP ファイルで動作させましたが、残念ながら代わりに Javascript で動作させる必要があります。助けが必要です。Google Chrome の開発者ツールを使用してコードを見たところ、上記のコードがJavaScriptファイル内のセッション変数にアクセスできないため、これは理にかなっています(Googleを検索して見つけたように)」

できますよ。JavaScript ファイルに名前を付けますfoo.php

内部では、PHP を使用できます。

<?php
header('Content-type: application/x-javascript');
session_start();
?>
var theme_name = "<?php echo $_SESSION['SESS_THEME_NAME']; ?>";
...
于 2013-06-26T04:22:12.860 に答える