首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >PHP在DB中插入重复项

PHP在DB中插入重复项
EN

Stack Overflow用户
提问于 2016-02-25 17:08:44
回答 1查看 140关注 0票数 0

我正在尝试构建一个注册页,并且当前代码运行正常,但是我在DB端得到了重复的插入。我已经研究并尝试过几种不同的解决方案,但还没有结果。我希望这是一件很简单的事情,我错过了。如何防止我的当前代码插入两次?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
session_start();
$error=''; // Variable To Store Error Message
if (isset($_POST['register'])) {
//if (empty($_POST['email']) || empty($_POST['hash'])) {
//$error = "<br /> <p style='font-family:talo; color:red; margin-top:10px; font-size:16px;'>* Username or Password is invalid</p>";
//}
//else
//{
// Define all labels on the register form
$firstName=$_POST['firstName'];
$lastName=$_POST['lastName'];
$title=$_POST['title'];
$suffix=$_POST['suffixOne'];
$suffixTwo=$_POST['suffixTwo'];
$email=$_POST['email'];
$employer=$_POST['employer'];
$expertise=$_POST['expertise'];
$hash=$_POST['password'];
$confirmHash=$_POST['passwordConfirm'];
$primaryAddress=$_POST['primaryAddress'];
$secondaryAddress=$_POST['secondaryAddress'];
$city=$_POST['city'];
$state=$_POST['state'];
$zip=$_POST['zip'];
$country=$_POST['country'];
$primaryPhone=$_POST['primaryPhone'];
$secondaryPhone=$_POST['secondaryPhone'];

$connection = mysqli_connect("localhost", "username", "password","DB");


$register = "INSERT INTO user (userID, firstName, lastName, title, suffix, suffixTwo, email, employer, expertise, primaryAddress, secondaryAddress, primaryPhone, secondaryPhone, city, postalCode, hash) 
VALUES (DEFAULT, '$firstName', '$lastName', '$title', '$suffix', '$suffixTwo', '$email', '$employer', '$expertise', '$primaryAddress', '$secondaryAddress', '$primaryPhone', '$secondaryPhone', '$city', '$zip', '$hash')";
if (mysqli_query($connection, $register)) {
   header('Location: index.php');
}
mysqli_close($connection);
}
?>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-25 17:14:17

如果页面被刷新,或者有人再次使用“后退”按钮点击它,数据就会对服务器产生不满,从而被插入两次。为了避免这种情况,您需要使用POST/重定向/GET模式将用户重定向到另一个页面或同一个页面。发送303 HTTP响应将告诉浏览器在其历史记录中替换该页面,并避免重新发送已发布的数据。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (mysqli_query($connection, $register)) {
    header('Location: index.php', true, 303);
    exit;
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35641558

复制
相关文章
shell 往DB中插入数据脚本
用户5760343
2022/05/18
5330
shell 往DB中插入数据脚本
[Leetcode][python]删除排序数组中的重复项/删除排序数组中的重复项 II
数组完成排序后,我们可以放置两个指针 ii 和 jj,其中 ii 是慢指针,而 jj 是快指针。只要 nums[i] = nums[j]nums[i]=nums[j],我们就增加 jj 以跳过重复项。
蛮三刀酱
2019/03/26
6.5K0
删除排序数组中的重复项
给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。
木瓜煲鸡脚
2020/09/23
5K0
<leetcode刷题-数组>删除排序数组中的重复项
给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。
哆哆jarvis
2022/08/23
4.4K0
[LEETCODE]从排序数组中删除重复项
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
用户2353021
2020/05/11
6.3K0
删除排序数组中的重复项
给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
_kyle
2020/11/03
4.6K0
删除有序数组中的重复项
要求删除重复元素,实际上就是将不重复的元素移到数组的左侧,即慢指针p的右边都是不重复的元素,p—q之间是出现重复的元素。
大忽悠爱学习
2021/03/27
4.7K0
【DB笔试面试675】在Oracle中,如何快速复制表或插入数据?
快速插入数据可以指定APPEND提示,需要注意的是,在NOARCHIVELOG模式下,默认用了APPEND就是NOLOGGING模式的。在ARCHIVELOG下,需要把表设置程NOLOGGING模式。如:
AiDBA宝典
2019/11/05
1.2K0
删除有序数组中的重复项
给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。
狼啸风云
2023/10/07
2180
Access重复项查询
大家好上节介绍了汇总查询,继续介绍选择查询中的重复项查询和不匹配项查询,这两种查询都可以在查询向导中创建,本节主要介绍重复项查询。
无言之月
2020/06/02
1.8K0
Access重复项查询
删除有序数组中的重复项 II
给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。
狼啸风云
2023/10/07
2080
LeetCode | 删除有序数组中的重复项
题目 删除有序数组中的重复项 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。 由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。 将最终结果插入 nums 的前 k 个位置后返回 k 。 不要使用额外的空间,你必须在 原地修改输入数组 并在使用 O(1) 额外空间的条件下完成。 判题标准: 系统会用下面的代码来测试你的题解:
yiyun
2023/03/08
3.9K0
LeetCode | 删除有序数组中的重复项
SAS删除字符串中的重复项
SAS程序猿/媛有时候会碰到去除字符串中重复值的问题,用常用的字符函数如SCAN,SUBSTR可能会很费劲,用正则表达式来处理就简单了。示例程序如下:
专业余码农
2020/07/15
5.2K0
[leetcode数组系列]3 删除排序数组中的重复项
1 leetcode原文链接 https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/ 示例1
我是程序员小贱
2020/06/05
4.2K0
LeetCode - 删除排序数组中的重复项
LeetCode第26题,难度简单。这题题目也是相当的长,所以只取了题目的主干,示例和说明请点击下方链接查看详情。
晓痴
2019/08/22
4.1K0
LeetCode - 删除排序数组中的重复项
ThinkPHP3.2.3php中插入html
$sure_pass = "<a class=\"fa fa-chevron-circle-up\" href=\"javascript:;\" onclick=\"pass_refuse($id,2)\">通过认证</a>"; $refuse_pass = "<a class=\"fa fa-chevron-circle-up\" href=\"javascript:;\" onclick=\"pass_refuse($id,3)\">不通过认证</a>"; 在需要双引号的地方,需要' \'进行转义,否则
botkenni
2022/01/10
2.3K0
在LaTeX中插入python代码
老师突然要求交上去的论文需要在附录加上代码,奈何我使用的LaTeX模板只能高亮显示Matlab的代码,但是我写论文的时候绝大部分代码都是用Python写的在这里实名吐槽一下Matlab的数据处理功能这么拉跨,不知道为什么还被拿来当数据挖掘课的第一语言,没办法,只能找一个方法让LaTeX里面能高亮显示Python代码。
Hsinyan
2022/06/19
6.7K0
在LaTeX中插入python代码
python在sqlite中插入数据
python通过引入sqlite的包,就能够直接操作sqlite数据库 import sqlite3 import math cx=sqlite3.connect("mydatabase.sqli
py3study
2020/01/06
3.9K0
如何防止数据重复插入?
问题起源,微信小程序抽风 wx.request() 重复请求服务器提交数据。后端服务也很简单,伪代码如下:
Lenis
2019/12/25
3.1K0
如何防止数据重复插入?
php 去除数组重复项并且重新建立索引 转
$data = array(0=>'jquery',1=>'php',2=>'ajax',3=>'jquery',4=>'linux',5=>'php');  $data = array_values(array_unique($data));  print_r($data);
双面人
2019/04/10
1.3K0

相似问题

Foreach PHP只在db中插入最后一项

12

在DB错误中插入多个项

12

pymongo在mongo db中插入许多可能包含重复项的文档。

23

XMLReader php插入到mysql重复项

24

PHP在数据库中插入重复项?

166
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文