php提交表单重复数据 php提交表单重复数据怎么办

PHP关于避免 页面刷新时 重复提交表单的问题 。。其实有一个不太好php提交表单重复数据的办法
就是当用户提交表单之后php提交表单重复数据,用js弹出一个框php提交表单重复数据,已成功提交,
echo "scriptalert('已成功提交')/script";
然后用php的header或者js跳转到提交页面
header("location:$post");
这样相当于自己刷新php提交表单重复数据了一遍页面,然后用户再怎么刷新也没事
虽然用户体验不是很好,不过如果没用Ajax的话,正常提交也要刷一下的,楼主可以自己试下
thinkphp 防止重复提交数据 。亲,你可以加验证码验证?。~
第一次产生验证码,然后验证完成后就将验证码更新掉 , 这样他再提交验证码就错误了,验证码错误就不让他提交,直接转向就好了!~~
验证码是防止重复提交的一个简单的方式,目前还是比较有效的!~~
而且tp生成验证码很简单 , 验证也很方便的!~~
具体可以参考文档这里:
希望对你有帮助 , 如果有帮助,记得采纳哟!~~
如何用PHP循环多次提交表单当然可以了 。你去看看phpphp提交表单重复数据的curl函数就行了
写个循环以下函数供你参考php提交表单重复数据:
/**
* post
* post方式请求资源
* @param string $url基于的baseUrl
* @param array $keysArr请求的参数列表
* @param int $flag标志位
* @return string返回的资源内容
*/
public function post($url, $keysArr, $flag = 0){
$ch = curl_init();
if(! $flag) curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $keysArr);
curl_setopt($ch, CURLOPT_URL, $url);
$ret = curl_exec($ch);
curl_close($ch);
return $ret;
}
php 提交表单到当前页面如何防止页面刷新重复提交~最常用的方法就是利用token 。即php提交表单重复数据:
1、在生成页面的时候生成一个token(随机字符串)php提交表单重复数据,并把它同时写入表单的某个hidden中 , 和服务端的session中 。
2、客户端提交表单到服务器时 , 比对表单中的token与session中的token是否一致 。若不一致则认为是无效的请求 。
3、不管第2步的校验是否通过,token只要使用一次后就立即作废(即:从session中销毁) 。同时token也可以关联时间信息,超时后也自动作废 。
这样,即便客户端重复提交 , 也只有第一次的请求能够成功 。
php避免form表单重复提交 php避免form表单重复提交
重复提交php提交表单重复数据我们在php中的防止方法许多最常用的就是数据库限制php提交表单重复数据了,当然也有可以直接在客户端进行限制php提交表单重复数据了,具体的来看php重复提交防止示例会有哪些呢?
下面的情况就会导致表单重复提交php提交表单重复数据:
点击提交按钮两次 。
点击刷新按钮 。
使用浏览器后退按钮重复之前的操作,导致重复提交表单 。
使用浏览器历史记录重复提交表单 。
浏览器重复的HTTP请求 。
网页被恶意刷新 。
下面是几种解决办法:
一:利用js设置按钮点击后变成灰色
form name=form1 method=”POST” action=”/” target=_blank
p
input type=”text” name=”T1″ size=”20″
input type=”button” value=”提交” onclick=”javascript:{this.disabled=true;document.form1.submit();}”
/p
/form
点击完按钮之后变成灰色就不能点击了 , 用户需要再次提交表单的话就要刷新页面之后重新填写数据再提交了 。