2017-01-10 8 views
0

私のウェブサイトでは、ログインしているすべてのユーザーに対してCSSを管理する必要があります。 異なるヘッダーカラーを表示する必要があります。たとえば、あるユーザーの場合は青、別のユーザーの場合は赤です。CodeIgniter 3のアプリケーションフォルダからログインセッションデータにアクセスする方法

ここではすべてを動的に管理していますが、ログインしたユーザータイプをアプリケーションフォルダ外から取得できません。これは、私の動的CSSページが、CIのアプリケーションフォルダの外にあるスタイルフォルダの中にあるからです。

私はいくつかのコードを表示しますが、これは参考になります。

<?php 
    header("Content-type: text/css; charset: UTF-8"); 

    if($type=="admin") 
    { 
     $settingButtonColor = "#990000"; 
    } 

    if($type=="student") 
    { 
     $settingButtonColor = "#990001"; 
    } 

    if($type=="teacher") 
    { 
     $settingButtonColor = "#990002"; 
    } 
?> 
このよう
.sett_btn 
{ 
    background-color:<?php echo $settingButtonColor;?> !important; 
} 

。しかし、この変数はアプリケーションフォルダ内でアクセスできるので、どのようにしてそのセッションタイプを取得できますか?

誰にも提案はありますか?あなたは外のモデル、ビュー、コントローラからセッションにアクセスするために2つのことを行う必要があり

+0

あなたのCSSにPHPを追加したい場合は、あなたはそれのためにルートを設定し、PHPファイルからCSSを生成する必要があり、他のページと同様ですが、すでに所有しているコンテンツタイプを使用します。 –

+0

あなたはもっと教えてもらえますか?@Magnus Eriksson – sradha

+0

あなたのビューファイル内で、セッションに応じてクラスを追加するには、CSS .teacher .student etcクラスを作成してください。 – Vickel

答えて

0

..

1.Create CIインスタンス最初の...

$CI = &get instance(); 

2.Thenロード・セッションライブラリ。

$type = $CI->session->userdata('type'); 
など。

$CI->load->library('session'); 

3.Nowアクセスセッションの変数

ご希望の場合はお手伝いします。

+0

いいえ私はあなたのコードで試しています。 – sradha

+0

それは私のために働いていません – sradha

+0

ok tryもう一度.... –

0

ユーザータイプを返す関数をコントローラに追加して、curlを使用してCSSファイルで呼び出すと、正常に機能します。 のcontroler:

public function user_type() { 
    $userType = $this->session->get_userdata('usertype'); echo $userType; 
} 

CSS:

<?php 

$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'localhost/test/user/user_type'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$type = curl_exec($ch); 
curl_close($ch); header("Content-type: text/css; charset: UTF-8"); 

if($type == "admin") { 
    $settingButtonColor = "#990000"; 
} 

if($type == "student") { 
    $settingButtonColor = "#990001"; 
} 

if($type=="teacher") { 
    $settingButtonColor = "#990002"; 
} 
?> 

.sett_btn { 
    background-color:<?php echo $settingButtonColor;?> !important; 
} 
+1

答えにコードを入れてください。画像にはありません – SuperDJ

+0

答えではありません – SuperDJ

+0

それは私のために働いていません.. – sradha

0
Function 

public function user_type() 
{ 
     $userType = $this->session->get_userdata('usertype'); 

     echo $userType; 
    } 

CSS 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'http://localhost/test/user/user_type'); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    $type = curl_exec($ch); 
    curl_close($ch); 

    header("Content-type: text/css; charset: UTF-8"); 

    if($type=="admin") 
     { 
$settingButtonColor = "#990000"; 
    } 
関連する問題