Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 返回浏览器历史记录时,Uniqid()返回相同的值_Php_Jquery_Browser_Browser Cache_Back Button - Fatal编程技术网

Php 返回浏览器历史记录时,Uniqid()返回相同的值

Php 返回浏览器历史记录时,Uniqid()返回相同的值,php,jquery,browser,browser-cache,back-button,Php,Jquery,Browser,Browser Cache,Back Button,我使用php函数uniqid为每个订单创建唯一标识符 表格如下: 有一种简单的方法可以实现这一点,您可以从数据库中将此列ordercode标记为uniqu ALTER TABLE TABLE添加UNIQUEordercode 该页可能是从缓存中提供的。为什么不检查ID是否已经存在,而不是盲目地插入它?@Charlotte Dunois我希望uniqid的唯一性:@Julia如果页面是从缓存中提供的,你什么都做不了您可以使用带有主索引的自动增量来完成这项工作。问题是相同的ID必须发送到两个位置:数

我使用php函数uniqid为每个订单创建唯一标识符

表格如下:


有一种简单的方法可以实现这一点,您可以从数据库中将此列ordercode标记为uniqu


ALTER TABLE TABLE添加UNIQUEordercode

该页可能是从缓存中提供的。为什么不检查ID是否已经存在,而不是盲目地插入它?@Charlotte Dunois我希望uniqid的唯一性:@Julia如果页面是从缓存中提供的,你什么都做不了您可以使用带有主索引的自动增量来完成这项工作。问题是相同的ID必须发送到两个位置:数据库和支付系统。数据库使用ajax,支付系统使用direct POST方法。如果使用autoincrement生成ID,它在数据库中是唯一的,但如何在用户提交订单时将其发送到支付系统:当它标记为唯一时,具有相同订单代码的新记录会导致mysqli错误,并且记录不会保存在allunique列以防止重复输入,因此任何时候,用户在数据库中插入相同的唯一id,将出现错误,或者,您可以在插入之前检查重复条目,我可以检查重复条目。但,若相同的ID已经发送到支付系统,那个么它又能如何帮助我呢?如果ID相同,我也可以只更新数据库中的记录,但最好保存所有订单而不重写它们。此外,我也不知道会发生什么,如果用户将支付,然后将返回并作出另一个订单。