Tôi đang gặp sự cố trong đó bộ điều khiển CodeIgniter của tôi đang được gọi hai lần. Nó chỉ có vẻ xảy ra khi tôi đang sử dụng các thông số trong uri (/ newsletter/confirm/a1938cas893vf9384f0384f0943). Nếu tôi loại bỏ các tham số từ chức năng của tôi nó chỉ tải bộ điều khiển một lần. Tôi cũng nhận thấy rằng với tham số trong url, nếu tôi làm mới trang, nó chỉ tải một lần. Vì vậy, có vẻ như nó đang tải hai lần chỉ khi một trang mới được gọi.Bộ điều khiển CodeIgniter Đang tải hai lần khi sử dụng tham số trong URL
Ví dụ: điều hướng đến/bản tin/xác nhận/a123 lần đầu tiên sẽ dẫn đến tải hai lần. Nhưng nếu bạn đã làm mới/bản tin/xác nhận/a123 nó sẽ chỉ tải một lần. Tôi đã hoàn thành nhận xét các cuộc gọi đến chế độ xem của mình để loại bỏ vấn đề với chế độ xem gây ra nó.
Điều này có âm thanh như vấn đề về bộ nhớ cache hoặc nội dung nào đó trong tệp .htaccess của tôi không? Cảm ơn mọi lời đề nghị.
điều khiển liên quan:
<?php
error_reporting(-1);
ini_set('display_errors',1);
class Test extends CI_Controller {
function __construct() {
parent::__construct();
log_message('debug', 'MyController initialised');
}
function confirm($code)
{
$this->load->helper(array('form'));
//$code = "6e930fe882c3b15712158812769dbcb636f96b8c";
$result = $this->db->get_where('newsletter_members', array('nm_confirmation_code' => $code, 'nm_subscribed' => 0));
if ($result->num_rows == 0)
{
$newsletter_message['newsletter_message'] = "Confirmation code is invalid or has already been confirmed.";
//$this->load->view('index_test', $newsletter_message);
} else {
$newsletter_message['newsletter_message'] = "Thank you for confirming your intent to subscribe to our newsletter!";
$data = array(
'nm_subscribed' => 1,
);
$this->db->where('nm_confirmation_code', $code);
$this->db->update('newsletter_members', $data);
//$this->load->view('index_test', $newsletter_message);
}
}
}
?>
.htaccess file:
RewriteEngine On
RewriteCond $1 !^([^\..]+\.php|robot\.txt|public|images|css|js|paul|event_docs|blog|citeforme|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
# BEGIN WordPress
#<IfModule mod_rewrite.c>
#RewriteEngine On
#RewriteBase/
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule . /index.php [L]
#</IfModule>
#RewriteEngine Off
# END WordPress
Dưới đây là những gì các tập tin đăng nhập có vẻ như, bạn có thể nhìn thấy tất cả mọi thứ đã được nạp lại hai lần:
DEBUG - 2011-09-16 09:59:34 --> Config Class Initialized
DEBUG - 2011-09-16 09:59:34 --> Hooks Class Initialized
DEBUG - 2011-09-16 09:59:34 --> Utf8 Class Initialized
DEBUG - 2011-09-16 09:59:34 --> UTF-8 Support Enabled
DEBUG - 2011-09-16 09:59:34 --> URI Class Initialized
DEBUG - 2011-09-16 09:59:34 --> Router Class Initialized
DEBUG - 2011-09-16 09:59:34 --> Output Class Initialized
DEBUG - 2011-09-16 09:59:34 --> Input Class Initialized
DEBUG - 2011-09-16 09:59:34 --> Global POST and COOKIE data sanitized
DEBUG - 2011-09-16 09:59:34 --> Language Class Initialized
DEBUG - 2011-09-16 09:59:34 --> Loader Class Initialized
DEBUG - 2011-09-16 09:59:34 --> Database Driver Class Initialized
DEBUG - 2011-09-16 09:59:34 --> Controller Class Initialized
DEBUG - 2011-09-16 09:59:34 --> MyController initialised
DEBUG - 2011-09-16 09:59:34 --> Helper loaded: form_helper
DEBUG - 2011-09-16 09:59:34 --> Final output sent to browser
DEBUG - 2011-09-16 09:59:34 --> Total execution time: 0.0223
DEBUG - 2011-09-16 09:59:34 --> Config Class Initialized
DEBUG - 2011-09-16 09:59:34 --> Hooks Class Initialized
DEBUG - 2011-09-16 09:59:34 --> Utf8 Class Initialized
DEBUG - 2011-09-16 09:59:34 --> UTF-8 Support Enabled
DEBUG - 2011-09-16 09:59:34 --> URI Class Initialized
DEBUG - 2011-09-16 09:59:34 --> Router Class Initialized
DEBUG - 2011-09-16 09:59:34 --> Output Class Initialized
DEBUG - 2011-09-16 09:59:34 --> Input Class Initialized
DEBUG - 2011-09-16 09:59:34 --> Global POST and COOKIE data sanitized
DEBUG - 2011-09-16 09:59:34 --> Language Class Initialized
DEBUG - 2011-09-16 09:59:34 --> Loader Class Initialized
DEBUG - 2011-09-16 09:59:34 --> Database Driver Class Initialized
DEBUG - 2011-09-16 09:59:34 --> Controller Class Initialized
DEBUG - 2011-09-16 09:59:34 --> MyController initialised
DEBUG - 2011-09-16 09:59:34 --> Helper loaded: form_helper
DEBUG - 2011-09-16 09:59:34 --> Final output sent to browser
DEBUG - 2011-09-16 09:59:34 --> Total execution time: 0.0213
Bạn đăng nhập vào một nơi nào đó. Lớp cha điều khiển thực hiện giống như hàm __construct của nó, vì vậy trong nhật ký lỗi của bạn, bạn nhận được hai thông báo lỗi có nội dung "Bộ điều khiển của tôi khởi tạo" và hai thông báo lỗi cho biết "Lớp điều khiển được khởi tạo" - có? –
Có, Calle, nhưng đó không phải là những thứ duy nhất đang được tải hai lần, mọi thứ đang được tải hai lần và được gửi đến trình duyệt. Tôi upaded bài viết ban đầu của tôi với những gì đăng nhập của tôi trông giống như khi nó tải hai lần. – aberrant