2012-05-06 4 views
1

ボタンをクリックして、私のウェブサイトのテーマの色を変更できるようにしたい。現在私はURLにCSSのポインタを保存します。しかし、他のページにジャンプすると、CSSポインタが新しいページのURLから消えてしまうので、テーマの色はデフォルトに戻ります。どのようにすべてのページを現在の選択されたCSSを覚えているようにするには? PHPのセッションにCSSのポインタを保存することはできますか?どうやってするか?PHPスタイルシートのポインタをPHPセッションに保存するには?

コード:

<html> 
<head> 
    <link rel="stylesheet" href="css/theme-<?php if ($css=="blue" || $css == "") echo "blue"; else echo $css; ?>.css" type="text/css" media="screen" title="csstheme" /> 
    <?php require_once("session.php"); ?>  
</head> 
    <body> 
     <a href="<?php print $_SERVER['PHP_SELF'];?>?<?php print $querystring;?>&css=blue" ><img src="http://plekz.com/images/layouts/blue.jpg" /></a> 
     <a href="<?php print $_SERVER['PHP_SELF'];?>?<?php print $querystring;?>&css=green" ><img src="http://plekz.com/images/layouts/green.jpg" /></a> 
     <a href="<?php print $_SERVER['PHP_SELF'];?>?<?php print $querystring;?>&css=pink" ><img src="http://plekz.com/images/layouts/pink.jpg" /></a> 
     <a href="<?php print $_SERVER['PHP_SELF'];?>?<?php print $querystring;?>&css=white" ><img src="http://plekz.com/images/layouts/white.jpg" /></a> 
     <a href="<?php print $_SERVER['PHP_SELF'];?>?<?php print $querystring;?>&css=red" ><img src="http://plekz.com/images/layouts/red.jpg" /></a>  
    </body> 
</html> 

答えて

2

はい、セッションはそれを置くのに良い場所のようになります。

あなたがテーマのセッションを設定するために呼び出されるのファイルを作成することができます。たとえば、選択したテーマをQueryStringを通じてそのファイルに渡します。その後、ユーザーを元のページに戻します。

これはテストされていないですが、このような何か:

if (isset($_GET["theme"])) 
{ 
    session_start(); 
    $_SESSION["theme"] = $_GET["theme"]; 
} 

header('Location: ' . $_SERVER['HTTP_REFERER']); 

あなたはSWITCH-に投げることができ、またはif文だけでなく、テーマセッションのみのカップルに設定することができることを確認しますあらかじめ定義された値。

あなたはすべてのページでセッションを読みます。テーマ変数が設定されている場合はそのテーマを使用し、そうでない場合はデフォルトのテーマに戻ります。

あなたのためのいくつかの詳細情報:

+0

はそれをやりました。できます。非常にありがとう:) – zac1987

+0

@ zac1987私の喜び! :) –

関連する問題