2011-08-12 4 views
10

मैं routes.phpcodeigniter में rout.php फ़ाइल में सत्र चर का उपयोग नहीं कर सकता है?

if($this->db_session->userdata('request_url')!="") 
{ 
$route['user/(:any)'] = "search_user_name/redirect_url/".$_SESSION['request_url']; 
$this->db_session->unset_userdata('request_url'); 
} 
else { 
    $route['user/(:any)'] = "search_user_name/index/$1"; 
} 

सत्र चर में सत्र चर को पुनः प्राप्त करने कोड निम्न टेम्पलेट में निर्धारित किया जाएगा/header.php

$this->db_session->set_userdata('request_url', $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]); 

उत्तर

4

आप मार्गों में db_session उपयोग नहीं कर सकते उपयोग कर रहा हूँ। php क्योंकि db_session लोड होने से पहले path.php को पार्स किया जाता है। शायद आपको आधार नियंत्रक बनाना चाहिए और बेस नियंत्रक के निर्माता से रीडायरेक्ट करना चाहिए।

+0

क्या मैं इसे 'ci_controller' में जोड़ सकता हूं? –

+0

मुझे लगता है कि यह काम करना चाहिए। हालांकि मैंने उम्र के लिए कोडनिर्देशक का उपयोग नहीं किया था – cenanozen

0

आप मार्गों में डेटाबेस का उपयोग कर सकते हैं और डेटाबेस में अपने मार्ग यूआरएल डाल सकते हैं। यहां एक उदाहरण है:

require_once(BASEPATH .'database/DB'. EXT); 
$db =& DB(); 
$table2 = $db->dbprefix.'lang'; 
$query2 = $db->get($table2); 
$result2 = $query2->result(); 
foreach($result2 as $row) 
{ 
    $fields = $db->list_fields($table2); 
    $findme = 'code'; 
    foreach($fields as $field): 
     $pos = strpos($field, $findme); 
     if($pos !== false and $row->$field != ''): 
      $route[''.$row->$field.''] = 'main/setlang/$1'; 
     endif; 
    endforeach; 
} 
संबंधित मुद्दे