ThinkPHP多次重复提交问题的根源

由于用户刷新网页,导致页面所有变量回归初始空值

$code_session2 = session('code2');
$code2 = I('code2');

if($code2 != $code_session2) {
			session('code2', $code2);
			M('dati')->data($data)->add();
		}

解决方法是把表单过来的code2写到session里面

$code2 = I('code2');
session('code_biaodan', $code2);
$code_biaodan = session('code_biaodan');

$code_session2 = session('code2');
		
if($code_biaodan != $code_session2) {
    session('code2', $code2);
	M('dati')->data($data)->add();
}

另外,刷新页面字符串也是空值,那么比较起来肯定是相等的了,虽然写入session也能够解决问题,但这里采用跳转的方法:

$this->success('交卷成功','home/Index/wenming_chengji?marks='.$marks,0);

下面是具体的方法实现:

public function wenming_chengji() {
		$marks = I('marks');
		$mark_tishi = '';
		
		if($marks < 30){
			$mark_tishi = "您得了".$marks."分,希望再接再励哦!";
		}
		if(30 == $marks){
			$mark_tishi = "恭喜你得了满分!";
		}
		$this->assign('mark_tishi', $mark_tishi);
		$this->display(':wenming_chengji');
	}

 

转载于:https://my.oschina.net/u/438393/blog/1522833

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值