php多线程重复提交数据 java多线程添加数据重复

如何用PHP循环多次提交表单

当然可以了。你去看看php的curl函数就行了

创新互联成立与2013年,先为奉贤等服务建站,奉贤等地企业,进行企业商务咨询服务。为奉贤企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

写个循环以下函数供你参考:

/**

* 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。即:

1、在生成页面的时候生成一个token(随机字符串),并把它同时写入表单的某个hidden中,和服务端的session中。

2、客户端提交表单到服务器时,比对表单中的token与session中的token是否一致。若不一致则认为是无效的请求。

3、不管第2步的校验是否通过,token只要使用一次后就立即作废(即:从session中销毁)。同时token也可以关联时间信息,超时后也自动作废。

这样,即便客户端重复提交,也只有第一次的请求能够成功。

PHP如何防止form重复提交

1. 使用JS让按钮在点击一次后禁用(disable)。采用这种方法可以防止多次点击的发生,实现方式较简单。

缺点是若客户端禁止JavaScript脚本,则失效。

2. 在提交成功后执行页面重定向(redirect)。转到提交成功信息页面。

特点:避免F5重复提交,消除浏览器前进和后退按钮可导致的同样问题。

3. 表单隐藏域中存放session(表单被请求时生成的标记)。采用此方法在接收表单数据后,检查此标志值是否存在,先进行删除,然后处理数据; 若不存在,说明已提交过,忽略本次提交。

//服务端生成随机数存入session, 分配至表单页

$data['sess_id'] = $_SESSION['sid'] = mt_rand(1000, 9999);

$this-load-view('form', $data);

//表单页隐藏域存放此session值

input type="hidden" name="sid" value="?=$sess_id; ?"

//处理

if($_POST['sid'] != ''  $_POST['sid'] == $_SESSION['sid'])

{

 unset($_SESSION['sid']);

 echo '处理数据';

}

else

{

 echo '已提交过表单';

}

4. 数据库唯一索引约束(最有效的防止重复数据的方法)。

5. 使用验证码

PHP避免刷新页面重复提交

这个解决的办法是在 x.php 中加入跳转代码,使页面跳转就好了,例如,html-x.php-数据处理后跳转到成功页面-success.html


文章标题:php多线程重复提交数据 java多线程添加数据重复
标题网址:http://azwzsj.com/article/docoheg.html