亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

Ajax 提交表單數據到入庫的全盤操作流程分享

2024-09-01 08:32:26
字體:
來源:轉載
供稿:網友
以下是Ajax 提交表單數據到入庫的全盤操作流程,希望本文對廣大php開發者有所幫助,感謝閱讀本文

*******php項目中當我們要對數據庫進行寫入操作時,有時會因為代碼沒有做防sql注入工作,導致各種不可預知的錯誤*******

1,index.htm 這是一個很簡單的注冊頁面l 我這是以ajax形式提交數據

復制代碼 代碼如下:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>RegisterForm</title>
<script type="text/javascript" src='jquery-1.3.1.js'></script>
</head>
<body>
<h1>This is a test form! </h1>
<font color="#8b0000"><table cellpadding="5" cellspacing=0>
<form action='_process.php' method='post' enctype='multipart/form-data'>
<tr><td><em>user :</em></td><td><input type='text' value='' size=15/></td></tr>
<tr><td><em>ages : </em></td><td><input type='text' value='' size=15/></td></tr>
<tr><td><em>pass : </em></td><td><input type='password' value='' size=15/></td></tr>
<tr><td><em>addr : </em></td><td><input type='text' value='' size=15/></td></tr>
<tr><td><em>email : </em></td><td><input type='text' value='' size=15/></td></tr>
<tr><td><input type='button' value='register'/></td><td><input type='reset' value='reseting'/></td></tr>
</form>
</table></font>
<span>正在加載... ...</span>
<p></p>
<style type="text/css">
body{text-align:center;}
.error{color:red;}
.tb{margin:0 auto;width:350px;height:200px;text-align:center;}
.tdleft{width:150px;text-align:left;}
</style>
<script type='text/javascript'>
$("#but").click(function(){
var name = $.trim($("#name").val());
var ages = $.trim($("#ages").val());
var pn = /^/d+$/;
var addr = $.trim($("#addr").val());
var pass = $.trim($("#password").val());
var email = $.trim($("#email").val());
var reg = /^[a-zA-Z0-9_]+@[a-zA-Z0-9_]+(/.[a-zA-Z]+)+$/gi;
if(name.length==0){
alert("請認真填寫姓名!");return false;
}
if(ages.length==0){
alert("請填寫年齡!");return false;
}
if(!pn.test(ages)){
alert("請填寫有效數字!");return false;
}
if(pass.length==0||pass.length>6){
alert("請認真填寫密碼!");return false;
}
if(addr.length==0){
alert("請認真填寫地址!");return false;
}
if(email.length==0){
alert("請認真填寫郵件!");return false;
}
if(!reg.test(email)){
alert("電子郵件檢測失敗");return false;
}
var send = {'name':name,'ages':ages,'pass':pass,'addr':addr,'email':email};
$.post('_process.php',send,function(data){
if(data.res==-1){
$("#result").addClass("error");
}
$("#result").html(data.msg);
//$("form")[0].reset();
},'json');
})
$("#msg").ajaxStart(function(){
$(this).fadeIn();
}).ajaxStop(function(){
$(this).fadeOut();
})
</script>
</body>
</html>


2,_process.php接收ajax提交數據 并做相關處理的文件

復制代碼 代碼如下:


<?php
header('Content-Type:text/html;charset=utf-8');
sleep(1);
$conn = mysqli_connect("localhost","root","root","register") or die("Unable to connect!".mysqli_connect_error());
mysqli_query($link,"set names utf8");

$name = isset($_POST['name'])?mysqlQuotes(trim($_POST['name'])):'';
$ages = isset($_POST['ages'])?intval(trim($_POST['ages'])):'';
$pass = isset($_POST['pass'])?mysqlQuotes(trim($_POST['pass'])):'';
$addr = isset($_POST['addr'])?mysqlQuotes(trim($_POST['addr'])):'';
$email = isset($_POST['email'])?mysqlQuotes(trim($_POST['email'])):'';
if(empty($name)){
echo json_encode(array('res'=>-1,'msg'=>'請您認真輸入姓名'));exit;
}
//查詢username在 tb_register 表中是否存在,不存在則入庫,存在則告知已注冊
$sql0 = "select count(1) as nums from tb_register where username='{$name}'";
$row0 = select_one($conn,$sql0);
if($row0['nums']>=1){
echo json_encode(array('res'=>-1,'msg'=>'對不起,該用戶名已被注冊!'));exit;
}
if(empty($ages)){
echo json_encode(array('res'=>-1,'msg'=>'請您認真輸入年齡'));exit;
}
if(!preg_match("/^/d+$/",$ages)){
echo json_encode(array('res'=>-1,'msg'=>'請輸入合法的數字'));exit;
}
if(empty($pass)){
echo json_encode(array('res'=>-1,'msg'=>'請您認真輸入密碼'));exit;
}
if(empty($addr)){
echo json_encode(array('res'=>-1,'msg'=>'請您認真輸入地址'));exit;
}
if(empty($email)){
echo json_encode(array('res'=>-1,'msg'=>'請您認真輸入郵箱'));exit;
}
if(!preg_match("/^[a-zA-Z0-9_]+@[a-zA-Z0-9_]+(/.[a-zA-Z]+)+$/",$email)){
echo json_encode(array('res'=>-1,'msg'=>'您的郵箱格式不正確'));exit;
}
$add_day = date("YmdHis");

//以下是入庫操作
$sql = "insert into tb_register set username='{$name}',ages='{$ages}',password='{$pass}',address='{$addr}',email='{$email}',add_day='{$add_day}'";
mysqli_query($conn,$sql);
echo json_encode(array('res'=>1,'msg'=>'恭喜你,注冊成功!'));exit;


//預防mysql注入攻擊函數 入庫數據
function mysqlQuotes($content){
if(!get_magic_quotes_gpc()) //先看看是否開啟自動過濾機制 未開啟則手動加函數過濾
{
$content = addslashes($content);
}
return stripslashes(htmlspecialchars($content));
}


function select_one($conn,$sql){
$res = mysqli_query($conn,$sql) or die("Failed".mysqli_error());
$result = array();
if(!empty($res)){
$result = mysqli_fetch_assoc($res);
}
mysqli_free_result($res);
return $result;
}


******以上 自定義函數mysqlQuotes中**********
Tips1, (PS:T不錯的PHP Q扣峮:276167802,驗證:csl)
addslashes 函數的作用是給指定的字符加上反斜杠,主要有以下特殊字符
單引號(') , 雙引號(") , 反斜杠(/) , NULL


Tips2,
htmlspecialchars 函數的作用是把一些特殊的字符轉換為html實體 ,這些特定的字符有:
& (和號) ==> &
" (雙引號) ==> "
' (單引號) ==> '
< (小于號) ==> <
> (大于號) ==> >

Tips3,
stripslashes 函數作用是刪除 由addslashes ()函數添加的飯斜杠,恢復原來的摸樣
如,$username 用戶輸入的是 Tom‘siy
存進數據庫的是加反斜杠的 Tom/‘siy;

取出來之則可以用stripslashes() 將其還原輸出 Tom‘siy

以上是本文關于Ajax 提交表單數據到入庫的全盤操作流程,希望本文對廣大php開發者有所幫助,感謝閱讀本文。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久国产精品久久精品| 91久久精品国产91性色| 成人黄色av网| 欧美色播在线播放| 国产第一区电影| 国产精品亚洲综合天堂夜夜| 中文字幕日韩在线播放| 亚洲va久久久噜噜噜久久天堂| 欧美电影电视剧在线观看| 97在线看福利| 久久精品久久精品亚洲人| 国产精品久久久久久久久免费| 在线国产精品播放| 国产一区欧美二区三区| 国产偷国产偷亚洲清高网站| 色婷婷**av毛片一区| 北条麻妃在线一区二区| 久久视频在线播放| 国产精品久久久久久久app| 日本高清不卡的在线| 国产精品自拍小视频| 中文字幕亚洲欧美一区二区三区| 精品亚洲男同gayvideo网站| 精品久久久香蕉免费精品视频| 欧美三级欧美成人高清www| 亚洲人成网站免费播放| 国产主播欧美精品| 亚洲国产天堂久久国产91| 亚洲精品之草原avav久久| 亚洲欧洲激情在线| 日韩精品欧美国产精品忘忧草| 成人精品视频99在线观看免费| 欧美老女人性生活| 亚洲自拍偷拍一区| 日韩欧美一区二区三区久久| 欧美黑人性视频| 精品中文字幕在线2019| 777精品视频| 欧美极品少妇xxxxx| 91亚洲精品久久久久久久久久久久| 中日韩美女免费视频网址在线观看| 欧美专区国产专区| 亚洲色图av在线| 欧美性猛交xxxx偷拍洗澡| 日韩在线视频导航| 日韩在线观看免费高清完整版| 亚洲欧美日本伦理| 超碰97人人做人人爱少妇| 国产主播在线一区| 欧美精品制服第一页| 97视频在线观看网址| 欧美裸体xxxx极品少妇| 国产欧美久久一区二区| 国产欧美精品在线播放| 亚洲国产欧美一区二区丝袜黑人| 黄色成人av网| 91丨九色丨国产在线| 欧美大片大片在线播放| 久久久久久久久久亚洲| 国产精品视频最多的网站| 久久久天堂国产精品女人| 亚洲人成电影网站色| www国产亚洲精品久久网站| 欧美老女人性生活| 欧美日韩亚洲一区二| 亚洲欧洲免费视频| 中文字幕日本精品| 久久黄色av网站| 91精品中文在线| 国产深夜精品福利| 色yeye香蕉凹凸一区二区av| 久久这里有精品视频| 国产精品网站视频| 久久精品中文字幕免费mv| 久久国产色av| 日韩在线观看网址| 91性高湖久久久久久久久_久久99| 免费成人高清视频| 久热精品视频在线观看| 欧美寡妇偷汉性猛交| 91亚洲精品久久久久久久久久久久| 国产精品爽爽ⅴa在线观看| 久久久国产精彩视频美女艺术照福利| 欧美另类暴力丝袜| 国产精品99一区| 97色在线视频观看| 国产亚洲欧洲高清一区| 国产综合久久久久| 国产精品欧美一区二区| 美女视频黄免费的亚洲男人天堂| 欧美国产日韩一区二区三区| 国产日韩欧美在线看| 亚洲国产日韩欧美在线99| 亚洲第一网站免费视频| 亚洲国产成人精品一区二区| 一区二区三区www| 日韩成人高清在线| 中文字幕在线视频日韩| 欧美一级淫片aaaaaaa视频| 日韩av电影免费观看高清| 亚洲天堂男人天堂| 国产精品扒开腿做爽爽爽的视频| 国产精品久久久久久久久久小说| 久久夜精品va视频免费观看| 亚洲成人精品久久久| 欧美黑人国产人伦爽爽爽| 日韩国产高清污视频在线观看| 浅井舞香一区二区| 久久99国产精品自在自在app| 亚洲一区二区中文| 欧美在线视频免费观看| 正在播放欧美一区| 伊人伊成久久人综合网站| 日韩av观看网址| 国产亚洲免费的视频看| 欧美一区在线直播| 亚洲男人天堂手机在线| 精品国产自在精品国产浪潮| 97香蕉久久夜色精品国产| 日韩在线视频中文字幕| 国内揄拍国内精品少妇国语| 日本道色综合久久影院| 欧美在线视频在线播放完整版免费观看| 国产91色在线免费| 亚洲性生活视频在线观看| 欧美日韩另类在线| 国产精品高潮呻吟久久av黑人| 久久精品国产久精国产思思| 少妇高潮 亚洲精品| 日韩欧美在线视频日韩欧美在线视频| 国产精品久久婷婷六月丁香| 在线观看国产欧美| 日本成人精品在线| 国产美女精彩久久| 日韩av成人在线观看| 91在线看www| 国产亚洲欧洲黄色| 日韩有码在线电影| 午夜精品久久久久久99热软件| 国产69久久精品成人| 日本一区二区三区四区视频| 最好看的2019年中文视频| 日韩中文字幕精品视频| 国产999在线| 国产精品久久久久久久久男| 久久精品国亚洲| 国产成人av在线| 日韩精品在线观| 国产成人一区二区| 国产97在线播放| 久久精品91久久久久久再现| 欧美最猛黑人xxxx黑人猛叫黄| 日韩一区二区精品视频| 欧美成人合集magnet| 欧美性xxxx| 国产精品视频永久免费播放| 欧美国产日韩一区| 久久久久久国产精品三级玉女聊斋| 久久久久久伊人| 亚洲综合在线播放| 午夜精品一区二区三区在线| 中文字幕精品视频| 欧美与欧洲交xxxx免费观看| 久久久97精品|