1

ユーザーがボタンをクリックして自分のWebサイトのテーマの色を変更できるようにしたい。現在、cssポインターをURLに保存しています。ただし、他のページにジャンプすると、cssポインターが新しいページのURLから消えるため、テーマの色がデフォルトに戻ります。現在選択されているCSSをすべてのページに記憶させるにはどうすればよいですか?cssポインタを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>
4

1 に答える 1

2

はい、セッションはそれを置くのに良い場所でしょう:

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

これはテストされていませんが、次のようなものです。

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

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

switchステートメントまたはifステートメントをスローして、テーマセッションをいくつかの事前定義された値にのみ設定できるようにすることもできます。

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

あなたのためのいくつかのより多くの情報:

于 2012-05-06T16:54:02.477 に答える