`
zccst
  • 浏览: 3319681 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Yii中使用session防止重复提交

    博客分类:
  • YII
 
阅读更多
表单提交时,由于网速等原因,会出现重复提交的现象。

一、从前端的角度:增加遮罩


二、从后端的角度:使用session。
//可复用代码
$session = Yii::app()->session;
		
		$user_id = $this->user->id;
		$sessionKey = $user_id.'_is_sending';
		
		
		if(isset($session[$sessionKey])){
			$first_submit_time = $session[$sessionKey];
			$current_time      = time();
			if($current_time - $first_submit_time < 10){
				$session[$sessionKey] = $current_time;
				$this->response(array('status'=>1, 'msg'=>'不能在10秒钟内连续发送两次。'));
			}else{
				unset($session[$sessionKey]);//超过限制时间,释放session";
			}
		}
		
		
		//第一次点击确认按钮时执行
		if(!isset($session[$sessionKey])){
			$session[$sessionKey] = time();
		}
分享到:
评论

相关推荐

    php页面防重复提交方法总结

    在PHP开发中,防止页面重复提交是一个重要的问题,因为这可能导致数据冗余或者逻辑错误。以下是一些常见的防止页面重复提交的方法。 1. **提交按钮禁用法**: 这是最简单也是最常见的方法,主要利用JavaScript来...

    Yii使用技巧大汇总

    12. **防止重复提交**: 在控制器中,可以使用`CSession`或令牌(token)机制来防止表单的重复提交。例如,可以在表单中添加隐藏字段,每次提交后更新该字段的值,服务器端检查该值是否有效,无效则拒绝处理请求。 ...

    PHP中文完全手册帮助版

    3. 脚本优化:合理使用include/require,避免重复加载,使用静态类和常量提升效率。 总的来说,《PHP中文完全手册帮助版》是学习和查阅PHP的宝贵资源,无论是初学者还是有经验的开发者,都能从中受益。通过深入理解...

    动态网络开发PHP的上机实践的代码.zip

    - 循环结构:`for`, `while`, `do...while`, `foreach` 用于重复执行任务。 - 函数:自定义函数是代码复用的关键,`function` 关键字用于定义函数。 2. **数据库交互** - PHP与MySQL:通过`mysqli` 或 `PDO` ...

    PHP编程一百例.rar

    10. **会话管理**:通过`session_start()`开启会话,使用`$_SESSION`数组存储和读取用户状态,实现跨页面的数据共享。 11. **面向对象编程**:PHP5引入了完整的面向对象编程特性,如类、对象、继承、封装、多态等,...

    PHP课件。新东方资料

    3. **会话管理**:使用session和cookie来跟踪用户状态,实现用户登录和购物车等功能。 4. **URL重写**:通过Apache的mod_rewrite模块,实现友好的URL,提升用户体验和SEO效果。 5. **模板引擎**:了解如何使用PHP...

    PHP教程PPT

    1. 会话控制:学习如何使用session来跟踪用户状态,提供个性化体验。 2. Cookie应用:了解cookie的工作原理,以及如何设置和使用cookie进行用户跟踪。 六、PHP数据库交互 1. 数据库连接:讲解如何使用MySQLi或PDO...

    十天学会php,很多公司都需要会php的

    PHP(Hypertext Preprocessor,超文本预处理器)是一种广泛使用的开源服务器端脚本语言,尤其适合Web开发,可以嵌入到HTML中使用。它的语法吸收了C语言、Java和Perl的特点,易于学习,使用广泛,是初学者入门编程的...

    [软件工程师典藏:PHP开发典型模块大全(第3版)].刘欣等.扫描版

    - **会话管理**:理解PHP中的会话机制,掌握如何设置和获取session变量。 #### 6. 表单处理与用户验证 - **表单元素**:介绍HTML表单的基本元素,如文本框、复选框、下拉列表等。 - **表单提交方法**:GET与POST的...

    PHP经典实例实战视频教程

    - **会话控制**:使用`session`管理用户的登录状态。 - **Cookie**:在客户端存储少量信息。 - **文件上传**:如何实现文件的上传功能。 - **异常处理**:通过异常处理机制来捕获并处理程序运行时发生的错误。 - **...

    php:我的小程序:)

    使用`session_start()`开启会话,`$_SESSION`数组存储会话数据,`session_destroy()`结束会话,是用户状态追踪的重要手段。 10. **Cookie**: PHP可以设置和读取HTTP cookies,如`setcookie()`用于设置cookie,`$...

    PHP

    PHP,全称“PHP:Hypertext Preprocessor”,是一种广泛使用的开源服务器端脚本语言,尤其适用于Web开发,能够嵌入到HTML中使用。自1995年诞生以来,PHP已经成为互联网上许多网站和应用程序的基石,其易学易用、性能...

Global site tag (gtag.js) - Google Analytics