首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

解决 php提交表单到当前页面,刷新会重复提交 的问题

解决 php提交表单到当前页面,刷新会重复提交 今天在写php程序的时候,发现一个问题,就是post提交到本页的表单数据,刷新后会反复提交。因此向群友请教。最终,得到了解决。...如下: 只需要在表单里生成一个token(随机字符串),然后用个input装起来,设置hidden。...-2 : $_POST['post_id']; //判断两个id是否相同,相同则说明已经处理过一次,不同则进行处理 if($session_id == $post_id){ echo..."已经处理过了,不管了"; }else{ //如果页面还没有提交过表单,则显示表单,否则处理post过来的数据 if($post_id == -2...> 最后,如果你有更好的解决方法,欢迎留言!学习学习~ 本文共 274 个字数,平均阅读时长 ≈ 1分钟

2.2K40

yii2 modal弹窗之ActiveForm ajax表单异步验证

前面我们讲述了yii2中如何使用modal以及yii2 gridview列表内更新操作如何使用modal的问题,本以为modal要告一段落可以开始新的话题了,但是实际问题往往超乎想像,这不modal弹窗提交的表单说是怎么验证的问题又出来了...yii2中,ActiveForm默认做了客户端验证,但是表单的提交,却不是无刷新的。也就是常常看到的表单提交后页面会刷新。...如果你不设置该参数,该地址默认是你当前路由,而又恰巧你当前路由就是表单form的action,你会很好奇的发现,当表单项input失去焦点的时候,你对数据的修改已经提交到后端进行了处理了?...,该操作是表单字段失去焦点时异步验证,同时如果直接提交表单,也会先执行该操作进行验证 public function actionValidateForm () { Yii::$app->response...yii2异步无刷新表单验证了!

1.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    yii2基础之modal弹窗的基本使用

    好的弹窗不仅仅给人以美感,也会让我们开发效率提高,甚至心情也会舒畅! 我们看看在yii2中如何使用modal。 比如我们之前添加数据的时候,通常情况下会点击按钮跳转到添加页面,保存后再跳转到列表页。...现在我们希望点击添加按钮的时候,在当前页面弹窗添加数据,看具体实现。...有同学可能要说,这个页面没必要异步加载过来。确实,你也可以直接在页面上echo $this->renderAjax();,不过需要提醒的是,该操作记得修改表单提交的action哦。...="#identifier" 来指定要切换的特定的模态框(带有 id="identifier") 以上,我们仅仅是在yii2中实现了modal的基本使用。...思考两个问题 modal如何结合gridview进行使用 modal中如果使用的是表单,表单提交后如何对数据进行验证

    1.9K31

    yii2 modal弹窗之ActiveForm ajax表单异步验证

    前面我们讲述了yii2中如何使用modal以及yii2 gridview列表内更新操作如何使用modal的问题,本以为modal要告一段落可以开始新的话题了,但是实际问题往往超乎想像,这不modal弹窗提交的表单说是怎么验证的问题又出来了...yii2中,ActiveForm默认做了客户端验证,但是表单的提交,却不是无刷新的。也就是常常看到的表单提交后页面会刷新。...如果你不设置该参数,该地址默认是你当前路由,而又恰巧你当前路由就是表单form的action,你会很好奇的发现,当表单项input失去焦点的时候,你对数据的修改已经提交到后端进行了处理了?...,该操作是表单字段失去焦点时异步验证,同时如果直接提交表单,也会先执行该操作进行验证 public function actionValidateForm () { Yii::$app->response...yii2异步无刷新表单验证了!

    1.5K21

    yii2使用pjax翻页无刷新

    > 可以不显示刷新效果 案例: Pjax是JQuery的插件,结合ajax和Html5的pushState技术来实现异步刷新,每次通过a标签点击和form表单提交向服务器发送一个指定的请求之后,服务器都会返回需要更新的内容...> 你也可以选择配置哪个链接和form表单使用Pjax,是否将新的Url添加到浏览记录,替换或者保持原样。如果Pjax没有响应,超时之后页面将会重新加载。...->render('index', [ 'time' => $time ]); } Navigation 本例实现多个超链接指向不同的Controller Actions,返回不同的内容...一个Form表单提交数据的在线示例:Demo,示例中Pjax包裹一个Form表单,里边有一个输入框和提交按钮以及下边的响应数据。...2.没有拦截页面的默认事件, 例如点击 或 时, 执行 pjax 的同时,浏览器跳转了。

    2.5K22

    【Java 进阶篇】Java Response 重定向详解

    重定向是一种Web服务器或Web应用程序将用户从一个URL地址导航到另一个URL地址的技术。它通常用于以下情况: 将用户从一个页面引导到另一个页面。 更改或更新URL以反映新的资源位置。...处理表单提交后的跳转:当用户提交表单数据后,可以将其重定向到感谢页面或显示提交结果的页面。 处理旧URL的跳转:如果网站的URL结构发生变化,可以使用重定向来指导用户访问新的URL。...绝对路径重定向 绝对路径重定向是指将用户重定向到完整的URL地址,而不是相对于当前请求的URL。这通常用于将用户导向不同的Web应用程序或不同的服务器。...response.sendRedirect("profile.jsp"); 处理表单提交后的跳转 当用户提交表单数据后,可以将其重定向到一个感谢页面或显示提交结果的页面。...这可以防止用户在刷新页面时重新提交表单。

    1.5K30

    【Java 进阶篇】创建 HTML 注册页面

    创建一个注册页面是网页开发的常见任务之一,它允许用户提供个人信息并注册成为网站的会员。我们将从头开始创建一个包含基本表单元素的注册页面,并介绍如何处理用户提交的数据。...验证码:为了防止自动化提交,可以添加验证码验证。 成功页面或错误处理 当用户成功提交表单时,通常会显示一个成功页面或提供成功的反馈信息。...如果用户提交包含错误的数据,应该向用户显示错误消息,并允许其纠正错误。 在实际应用中,你可以在服务器端脚本中根据处理结果来决定是显示成功页面还是错误消息。...例如,如果用户注册成功,你可以重定向到一个感谢页面,否则,你可以显示一个错误消息页面。 总结 通过本博客,我们学习了如何创建一个简单的HTML注册页面,包括表单元素、标签、输入字段和提交按钮。...创建注册页面是HTML表单的基础,这个例子可以扩展到更复杂的表单和应用中,以满足不同的需求。希望这个博客对于初学者能够提供有关HTML表单的清晰概念和起点。

    44620

    解决Yii2 启用_csrf验证后POST数据仍提示“您提交的数据无法验证”

    尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。...Yii2 中的CSRF配置 Yii2 默认是启用CSRF令牌验证 配置在main.php中: 'components' => [ 'request' => [ /...POST验证 当启用了csrf后, 所有表单POST提交的数据就会进行验证,在表单中添加CSRF有两种方法 1....>" name="_csrf" > 三 提交POST提示“您提交的数据无法验证” 使用原生or Yii挂件生成html带有_csrf 表单提交仍然提示“您提交的数据无法验证” 表单html如下: <div..._csrf 是Yii自动生成,不存在字符串不匹配 后来找到问题: render的时候使用了exit, 应使用return *注: render 时也不能用echo 或 die() 解决办法: return

    2.2K31

    这周撸了两款小程序,总结下经验。

    以上是关于小程序登录的前后台逻辑,如果你使用yii2类框架,很多都内置了,并不复杂。 但是这里还有几个问题 小程序端何时进行登录逻辑? 发起请求时access_token过期了如何处理?...客服消息 在小程序开发中,客服消息的重要性不言而喻,它除了作为客服服务外,还作为小程序到微信浏览器的一个渠道,比如本次在「宝宝爱识图」的开发中,我用它来实现将收款微信号到用户的推送工作,这主要是解决在ios...formId的种子表,将尽可能多的用户和后台的行为都采用form表单提交的形式,并且获取formID,对,要变态的多,这样你的formId表数据起来了,以后想发消息的时候用就好了。...关于如何设置能获取formId的小程序表单也很简单,设置report-submit为真即可,如下代码 ...服务器端 接下来总结下服务器端,我使用yii2的restful组件作为接口支持,关于restful的基本功能请参考yii2官方文档或我之前录制的课程《Yii2的RESTful讲解》,在这里分享我认为关键的点

    1.4K50

    浅谈csrf攻击以及yii2对其的防范措施

    凡是我yii2学习社群的成员都知道,我不止一次给大家说构造表单100%使用yii2的ActiveForm来实现,这除了能和AR更好结合外就是自动生成csrf隐藏域,一个非常安全的举措。...比如在请求前生成一个token放到session中,当请求发生时,将token从session拿出来和请求提交过来的token进行对比,如果相等则认证通过,否则拒绝。...针对于不同类型的请求一般方案是 GET 放到url中,比如http://url?...这里存在一个问题,比如黑客将自己网站的链接发到了要攻击页面,则黑客网站链接后面会有一个token,此刻客户可以通过编写自己网站代码得到这个token,然后用这个token立刻构造表单,发起CSRF攻击,...最后我在把上图的关键函数进行说明 generateCsrfToken() 该函数生成token并存到cookie或session中,该值不会随页面刷新而变化,它更多充当钥匙的作用,根绝它生成具体的csrfToken

    2.5K60

    【Java 进阶篇】Java登录案例详解

    表单的action属性指定了提交表单时将请求发送到的URL。在这里,我们将其设置为"login",这意味着我们将在后端处理名为"login"的请求。 3....我们将创建一个Servlet来处理用户提交的登录表单,验证用户提供的凭证,并根据验证结果采取相应的行动。 首先,让我们创建一个名为LoginServlet的Servlet。...在这一步,我们将验证用户提供的用户名和密码是否正确。这通常涉及到与用户数据库或其他身份验证存储进行比较。...如果验证成功,我们使用response.sendRedirect将用户重定向到欢迎页面。...HttpSession session = request.getSession(); session.setAttribute("username", username); // 重定向到欢迎页面

    84830

    推荐一款模拟浏览器自动化操作神器!Mechanize

    提交表单:对于需要用户填写信息并提交的在线表单,Mechanize能够模拟这一过程,无论是进行数据收集还是实现自动化测试。...设置代理:为了适应不同的网络环境和隐私保护需求,Mechanize允许用户设置代理服务器来进行网络请求。 重定向处理:自动跟踪和管理网页重定向,简化了对复杂导航结构的网页内容的抓取工作。...(login_url) # 选择登录表单(根据网页结构,可能需要修改索引或名称) browser.select_form(nr=0) # 填写表单信息 username = 'your_username...请注意,上述代码中的home_url需要根据实际情况进行替换。此外,根据目标网页的结构,可能需要调整页面内容的提取方式。...通过这种方式,你可以模拟不同的浏览器或设备来访问网站。

    22210

    web攻击

    、CSRF(跨站请求伪造攻击 Cross-site request forgery)   通过各种方法伪造一个请求,模仿用户提交表单的行为,从而达到修改用户的数据,或者执行特定任务的目的。...对请求进行认证,确保该请求确实是用户本人填写表单并提交的,而不是第三者伪造的.具体可以在会话中增加token,确保看到信息和提交信息的是同一个人 三、Http Heads攻击   HTTP协议在Response...为防止这种行为,我们必须对所有的重定向操作进行审核,以避免重定向到一个危险的地方.   案例:   攻击者发一个吸引用户的帖子。当用户进来时,引诱他们点击超链接。   ...事实上,真正的类型是由服务器返回的 MIME 决定的。所以这个站外资源完全有可能是一个网页: ?   当用户停留在新页面里看动画时,隐匿其中的脚本已悄悄跳转原页面了。   ..., 它不信任服务器所发送的content type,而是自动根据文件内容来识别文件的类型,并根据所识别的类型来显示或执行文件.如果上传一个gif文件,在文件末尾放一段js攻击脚本,就有可能被执行.这种攻击

    1K10

    分享 Shiro 学习过程中遇到的一些问题

    loginUrl 这个配置的值为当用户访问需要授权的页面时,shiro 判断没有授权时跳转的页面。需要注意的是,在我们设计登录页面时,登录的表单提交的地址,也要和这个地址一样。...例如当我们访问“/login”控制器进入登陆页面,点击登录后,表单提交到的地址也应该是“/login”,否则登录不成功,继续跳转到登陆页面。...同时,这个过滤器会重定向到“/”这个路径,这就是我们题目所述问题的根源。 ?...接下来的过程就是: 我们登出之后重定向到“/”,“/”符合 “/** = authc”这个配置,需要验证才能访问; 然后我们进入了 loginUrl ,进行登录; 登录验证成功后,会跳转到上次访问失败的页面...出现这个现象的原因是:首先,当我们访问“/login”时,表单提交的地址也是“/login”,所以很正常我们继续停留在了此页面;另外,每次我们访问满足“/** = authc”的页面时,AuthenticationFilter

    97330

    推荐一款模拟浏览器自动化操作神器!Mechanize

    提交表单:对于需要用户填写信息并提交的在线表单,Mechanize能够模拟这一过程,无论是进行数据收集还是实现自动化测试。...设置代理:为了适应不同的网络环境和隐私保护需求,Mechanize允许用户设置代理服务器来进行网络请求。重定向处理:自动跟踪和管理网页重定向,简化了对复杂导航结构的网页内容的抓取工作。...)# 选择登录表单(根据网页结构,可能需要修改索引或名称)browser.select_form(nr=0)# 填写表单信息username = 'your_username'password = 'your_password'browser...此外,根据目标网页的结构,可能需要调整页面内容的提取方式。...通过这种方式,你可以模拟不同的浏览器或设备来访问网站。

    47600

    PHP 表单处理与验证

    本篇博客将详细介绍 PHP 中表单的处理与验证,从基础的表单提交到高级的表单数据验证技巧,帮助你理解如何通过 PHP 进行高效、安全的表单处理。...通常,表单会包含输入框、选择框、单选按钮和提交按钮等组件,用户可以通过这些组件提供不同类型的数据。...通常,这些数据用于数据库存储、用户身份验证或动态页面展示。为了确保数据被正确处理,需要对提交的表单数据进行格式验证、清理以及安全检查。2....验证数据:检查数据的有效性,确保数据格式符合要求。清理数据:对数据进行必要的清理,以防止 XSS 和 SQL 注入等攻击。保存数据:将处理后的数据存储到数据库或文件中,或者根据需求展示到页面。...可以通过重定向或直接输出反馈信息的方式来实现。// 成功提交后重定向到另一页header("Location: success.php");exit;5.

    11600

    【译】WordPress 中的50个过滤器(2):先介绍10个过滤器

    > 重定向评论者的url到作者页面 在WordPress 中发表评论后,你将停留在当前页面上——当然,本身这是个符合逻辑的方式,但如果你想在成功发表评论后将评论者的url 重定向到作者页面该怎么做...它在不同的页面情况下提供了不同的相应语义化的CSS 标签,使得你的CSS 能更有效率。同样的,通过“过滤”body_class()函数,你可以添加后删除相关的类。...例子:为标签添加以分类名命名的类名 如果你需要为不同分类下的页面添加不用的CSS 样式,你可以通过下面的代码实现之: <?...> 过滤密码保护文章的表单提示 对于设置了密码保护的文章,在前端页面WordPress 会显示为一个密码填写的表单。...> 经过上面的代码作用,整个输入表单仅仅剩下三个单词,一个密码输入框跟提交按钮。怎样,够简洁吧?

    1.1K60

    面试官:如何保证接口幂等性?一口气说了12种方法!

    网络波动, 可能会引起重复请求 用户重复操作,用户在操作时候可能会无意触发多次下单交易,甚至没有响应而有意触发多次交易应用 使用了失效或超时重试机制(Nginx重试、RPC重试或业务层重试等) 页面重复刷新...使用浏览器后退按钮重复之前的操作,导致重复提交表单 使用浏览器历史记录重复提交表单 浏览器重复的HTTP请求 定时任务重复执行 用户双击提交按钮 如何保证接口幂等性?...使用Post/Redirect/Get模式 在提交后执行页面重定向,这就是所谓的Post-Redirect—Get(PRG)模式,简单来说就是当用户提交连表单后,跳转到一个重定向的信息页面,这样就避免用户按...F5刷新导致的重复提交,而且也不会出现浏览器表单重复提交的警告,也能消除按浏览器前进和后退导致同样重复提交的问题。...状态机幂等 在设计单据相关的业务,或者是任务相关的业务,肯定会涉及到状态机(状态变更图),就是业务单据上面有个状态,状态在不同的情况下会发生变更,一般情况下存在有限状态机,这时候,如果状态机已经处于下一个状态

    1.9K20

    SSL Strip的未来:HTTPS 前端劫持

    动态元素 很好,我们轻易渗透到页面里。但接着又如何发起进攻? 既然到了前端里,方法就相当多了。最简单的,就是遍历超链接元素,将 https 的都替换成 http 版本。...---- 更多拦截 除了通过超链接,还有其实方式访问页面,我们应尽可能多的进行监控。例如: 表单提交 window.open 弹窗 框架页面 ........表单提交 表单提交和超链接非常类似,都具有事件,只是将 click 换成 submit,href 换成 action 而已。...现实中,还有另一种很常见的方式,那就是重定向到安全页面。 仔细回想下,平时我们是怎样进入想上的网站的。...当我们的中间人一旦发现有重定向到 HTTPS 网站的,当然不希望用户走这条不受自己控制的路。

    1.8K50
    领券