PHP 怎么防止GET方式提交重复数据?

以下是代码,请问应该怎么防止提交重复数据?主要是防止deviceid这个段<?php$arb=query('renzhengma','where`renzhengma`=... 以下是代码,请问应该怎么防止提交重复数据?主要是防止deviceid这个段
<?php
$arb = query('renzhengma', 'where `renzhengma` = "'.$_GET['user'].'" ');
$rs = query('user', 'where `id` = '.$arb['uid'].' ');
if(!$rs){
exit(0);
}
if(!$result){
$sqlc = "UPDATE `user` SET `msg`='1' WHERE `id` = '".$rs['id']."'";
$queryc = mysql_query($sqlc);
$deviceid=$_GET["deviceid"];
$deviceInfo=$_GET["deviceInfo"];
$sql = "INSERT INTO `sb`(`id`, `uid`, `deviceid`, `deviceInfo`, `date`, `ip`) VALUES (null,'".$rs['id']."','".$deviceid."','".$deviceInfo."','".time()."','".$ip."')";
$result = mysql_query($sql);
}
?>
能不能请个高手写代码出来给我啊,5555,不懂写
展开
 我来答
IT互联天下
2016-05-12 · 知道合伙人软件行家
IT互联天下
知道合伙人软件行家
采纳数:1437 获赞数:5161
PHP开发工程师

向TA提问 私信TA
展开全部

PHP 防止表单重复提交,使用令牌来做验证,即可解决。示例如下:

index.php:

<?php 
header("Content-type:text/html;charset=utf-8");
//开启session
session_start();

//如果令牌为空,则生成一个令牌
if(!isset($_SESSION['token'] )    || $_SESSION['token'] == ""){
    //给当前表单生成一个令牌
    $_SESSION['token'] = md5(microtime(true));
}
?>
<form method="get" action="deal.php">
名称: <input type="text" name="names"><br/>
描述: <input type="text" name="desc"><br/>
<input type="text" name="token" value="<?=$_SESSION['token']?>">
<input type="submit" value="提交">
</form>

deal.php:

<?php
header("Content-type:text/html;charset=utf-8");
//开启session
session_start();
//验证令牌
if($_REQUEST['token'] === $_SESSION['token']){
    //表单已经提交,重新生成令牌
    $_SESSION['token'] = md5(microtime(true));
    echo "表单提交成功:<br/>";
    print_r($_REQUEST);
}else{
    echo "重复提交";
}
?>
追问
我这个是没有submi提交的哦,直接用deal.php吗?
a340411305
2016-05-10 · 超过65用户采纳过TA的回答
知道小有建树答主
回答量:161
采纳率:0%
帮助的人:58.3万
展开全部
一种是你先查询判断存不存在在插入。另一种你把某个字段设成唯一键也会防止注入相同东西的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
是是非非best
2016-05-10 · 超过55用户采纳过TA的回答
知道答主
回答量:210
采纳率:0%
帮助的人:104万
展开全部
先select看数据库中是否存在,然后在执行update等操作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式