严重BUG!!!控制器被连续执行二次
本帖最后由 635265428 于 2015-1-17 10:21 编辑问题是这样的,发一份注册激活邮件到用户邮箱,点击邮件是的激活链接,结果,控制器被连续执行二次,把链接手动复制到地址栏回车,就正常执行一次,好奇怪呀:
/**
* 邮箱激活
*/
public function active_user(){
file_put_contents('active.txt', '测试邮箱', FILE_APPEND);
die;
}
结果active.txt里面出现:测试邮箱测试邮箱,即被连续执行了二次,求解释???
后面经过测试发现,只要是点邮件里面的链接就会被执行二次
这种问题不觉得该自己找自己原因吗?
莫什么都归咎于BUG
本帖最后由 Closer 于 2015-1-17 14:42 编辑
不要用 die(); 來做程式碼的一部份
這是不正確的
我沒遇過...所以只能跟你說替代方案
你只要簡單做到一點就能避免
用 GET
$this->load->model('mds'); //載入模型
$test = $this->input->get('test', TRUE); //取得 GET 值
if($test){ //檢查 GET 有值
$test_ok = $this->mds->get_test($test); //檢查此 GET 資料的某欄位是否記錄為 1
if($test_ok=='nodata'){ //如果無記錄
$this->mds->add_test($test); //執行記錄
/* 執行你要執行的事 */
}else{
return;
}
}else{
return;
}
active.txt一开始为空吗? 没有遇到过你说的“严重BUG”!!!!!! 贴代码 明显就是你的逻辑错了 调用的时候调用两次了 可以确定,不是我逻辑问题,也不是代码或框架问题,是火狐的问题,其他浏览器不会出现这种情况,只要url带get参数就会执行二次,我的解决办法是,把url改成pathinfo模式就不会执行二次了
页:
[1]