У меня есть программа PHP, написанная на воспламенителе кода, которая нуждается в вашей помощи! Пробовали в течение 3 недель!
У меня есть htaccess mod rewrite, чтобы сделать http://www.sampleurl.com/controllername вместо http://www.sampleurl.com/index.php/controllername
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php/$0 [PT,L] </IfModule> <IfModule !mod_rewrite.c> # If we don't have mod_rewrite installed, all 404's # can be sent to index.php, and everything works as normal. ErrorDocument 404 /index.php </IfModule>
У меня есть контроллер для Dashboard (в настоящее время используется для тестирования сеанса).
public function index() { $is_logged_in = $this->session->userdata('fb_session'); $data = array( 'fb_data' => $is_logged_in, ); if (!isset($is_logged_in) || $is_logged_in != true){ redirect('/error'); } }
Ниже приведена функция, которая позволяет убить текущий сеанс и перенаправить на страницу панели мониторинга.
$('#logoutbtn').click(function(){ $.ajax({ type:"POST", url: "/fbcontroller/killsession", datatype: "json", success: function(){ alert("Logout"); } }); }); public function killsession(){ $this->session->sess_destroy(); redirect('/dashboard'); }
Проблема 1: поскольку я перенаправляю из функции в 1 контроллер в другой, перенаправление здесь не выполняется. Вместо того, чтобы направлять на приборную панель, в firebug отображается ошибка 404, страница не найдена. И в ответ он отображает весь код HTML / страницы ошибки. Означает ли это, что перенаправление работает? Если да, почему бы не отобразить его в браузере?
Проблема 2: сеанс уничтожен, но вошедшая в систему страница остается даже при обновлении (F5).