將關(guān)于mysql函數(shù)?全部改成mssql前綴
創(chuàng)新互聯(lián)從2013年開始,先為大安等服務(wù)建站,大安等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為大安企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
$sqlwhere?=?"select?*?from?$dbzh?where?……";//具體哪些字段重復(fù),在where后面加上條件即可
$result?=?mssql_query($sqlwhere);
$num?=?mssql_num_rows($result);?
if?($num??==?0){
//新增操作
}
只要查詢它的ID是否存在,如果存在的話,就重復(fù)了,如果不存在的話,就說明沒重復(fù)
mssql_get_last_message?函數(shù)是做什么用的
數(shù)據(jù)庫中設(shè)置為不可重復(fù)
while循環(huán)
生成隨機(jī)號(hào)和密碼部分應(yīng)該不用講了 你應(yīng)該有自己的規(guī)則
然后往數(shù)據(jù)庫中插入
插入的時(shí)候try一下 如果沒成功繼續(xù)向下執(zhí)行
如果執(zhí)行成功了則計(jì)數(shù)加1
當(dāng)計(jì)數(shù)等于N的時(shí)候跳出循環(huán)
PHP 防止表單重復(fù)提交,使用令牌來做驗(yàn)證,即可解決。示例如下:
index.php:
?php?
header("Content-type:text/html;charset=utf-8");
//開啟session
session_start();
//如果令牌為空,則生成一個(gè)令牌
if(!isset($_SESSION['token']?)????||?$_SESSION['token']?==?""){
//給當(dāng)前表單生成一個(gè)令牌
$_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();
//驗(yàn)證令牌
if($_REQUEST['token']?===?$_SESSION['token']){
//表單已經(jīng)提交,重新生成令牌
$_SESSION['token']?=?md5(microtime(true));
echo?"表單提交成功:br/";
print_r($_REQUEST);
}else{
echo?"重復(fù)提交";
}
?
?php?
session_start();
$id_lucky?=?$_POST['id_lucky'];
$customer?=?$_POST['customer'];
$prize?=?$_POST['prize'];
$hide?=?$_POST['hidden'];
//var_dump($_SESSION);
if($hide==$_SESSION['conn'])//你這里判斷的session是什么時(shí)候存入session的
{
$sql=mysql_query("insert?into?"._DB_PREFIX_."luckdraw?(customer,prize)?values?('$customer','$prize')");
//你這里沒有判斷?你應(yīng)該在這里判斷一下mysql_query是否執(zhí)行成功?執(zhí)行sql成功?是提交成功?否則是失敗?建議你使用var_dump($sql)打印$sql看看$sql是什么數(shù)據(jù)類型
if($sql){
echo?"親,提交成功了哦";
}else{
echo?'失敗';
}
??
}else
{
echo?"scriptreturn?false;/script";????
}
session_destroy();
$array?=?[1,2,3,4,5,6,7,8,9,5,4,4,4,3,2];
$exist?=?[];
$repeat?=?[];
foreach($array?as?$v){
if(in_array($v,$exist)){
array_push($repeat,$v);?//不存在的放入exist中
}else{
array_push($exist,$v);?//已存在的放入repeat中
}
}
var_dump($repeat);?//repeat即為重復(fù)的數(shù)據(jù)
$unique_repeat?=??array_unique($repeat);?//如果多次重復(fù)的值只取一次,可以去重一下
var_dump($unique_repeat);
每次進(jìn)入提交的頁面,給一個(gè)session,為了避免重復(fù),session的key可以是隨機(jī)的。
在表單填寫頁面
?php
session_start(); // 啟用session
$time = time();
$key = 'sess_' . $time; // 根據(jù)時(shí)間生成一個(gè)隨機(jī)的session key
$_SESSION[$key] = $time; // 設(shè)置session的值
?
!--{通過隱藏表單將 session 的 key傳遞到服務(wù)端處理}--
input type="hidden" name="session_key" value="?php echo $time;?" /
處理頁面
?php
session_start(); // 啟用session
$key = $_POST['session_key'];
if(!$key || $_SESSION[$key] != substr($key, 5)){
// 如果沒有傳 session_key 參數(shù)
// 或者 session_key 參數(shù)值截?cái)?sess_后的數(shù)字 與 session參數(shù)值不匹配
unset($_SESSION[$key]); // 刪除 session 值
// 然后考慮是否要提示錯(cuò)誤,或者轉(zhuǎn)入另一個(gè)頁面
exit(); // 終止頁面代碼執(zhí)行
}
// 下面進(jìn)行數(shù)據(jù)寫操作
// 數(shù)據(jù)操作完成后,刪除session
unset($_SESSION[$key]);
// 后續(xù)操作
?
$########################
一個(gè)頁面也是一樣的,我給你的只是一個(gè)思維,
具體如何實(shí)現(xiàn),你要根據(jù)自己的實(shí)際情況去處理
很多東西都不是通用的
另外,不管多少個(gè)頁面,必然包含兩個(gè)部分,一部分是表單填寫,一部分是數(shù)據(jù)處理,這個(gè)跟多少個(gè)頁面無關(guān)~~就看你是否能夠理解這段代碼的意義,如果不理解的話,嵌套進(jìn)去也沒啥用,能夠理解的話,或許你能夠找出更適合自己的解決方案
本文名稱:php不添加重復(fù)數(shù)據(jù) php不添加重復(fù)數(shù)據(jù)的方法
轉(zhuǎn)載來源:http://muchs.cn/article38/hgidsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、網(wǎng)站導(dǎo)航、品牌網(wǎng)站建設(shè)、云服務(wù)器、微信小程序、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)