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,不懂写 展开
<?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,不懂写 展开
3个回答
展开全部
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吗?
展开全部
一种是你先查询判断存不存在在插入。另一种你把某个字段设成唯一键也会防止注入相同东西的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先select看数据库中是否存在,然后在执行update等操作
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询