(1)资料库密码栏位给多记忆体>>因为要进行编码
正常来说密码不应该查询的到,很危险(忌讳!!)
(2)第三方验证与这边无关(ex:google登入、手机验证)
第三方只是帮忙验证,自家资料库还是要新增资料
(3)编码及验证
$passwd = '123456';
//编码处理
//password_hash(拿这个,使用演算法加密)
$passwd2 = password_hash($passwd, PASSWORD_DEFAULT);
//password_verify 验证(正确的,别人输入的)
if (password_verify('1234567', $passwd2)) {
echo 'OK';
} else {
echo 'XX';
}
例:使用者帐号
但,通常使用者填完表单送出时才能验证到
UX体验差,请做到输入时就已告知帐号重复
利用AJAX
(举例:看股票页面,随时更新,而不更动页面)
Read data from a web server - after the page has loaded
Update a web page without reloading the page
Send data to a web server - in the background
https://www.w3schools.com/js/js_ajax_intro.asp
//1.抓帐号
if (!isset($_GET['account'])) return;
//2.收下资料
$account = $_GET['account'];
//3.引用MySQL物件
include('bradsql.php');
//4.SQL 条件式 检查 条件:拿到资料,帐号有重复
$sql = "SELECT account FROM member WHERE account = '{$account}'";
$result = $mysqli->query($sql);
$rows = $result->num_rows;
//查出有几笔资料?
echo $rows > 0 ? '帐号重复了,不能注册' : '';
创造AJAX物件
const xhttp = new XMLHttpRequest(); //创造AJAX物件
onsubmit 只接受true(送出) or false(没送出)
<form method="post" action="brad64.php" onsubmit="return cheakForm();">
<input type="submit" value="Register" />
var isCheckOK = false; //1.给onsubmit的booling
function cheakAccount() {
isCheckOK = false; /2.送出去(onsubmit)前都是false
}
function aftercheak() {
if (this.readyState == 4 && this.status == 200) {
getmesg = xhttp.responseText.trim(); //3.让物件的内容清乾净
document.getElementById("mesg").innerHTML = getmesg;
//4.Elemen的内容'' ,如果有东西会盖上去物件的内容
if (getmesg == 0) { //5.长度为0
isCheckOK = true; //6.才会送出true,送出去(onsubmit)前都是false
}
}
function cheakForm() {
return isCheckOK; //7.TURE 送出 action="brad64.php"
}
影片PHP09.mp4 1:13
reg.php
login.php
newAccount.php
checkAccount.php
editAccount.php
什麽是 Web Notifications API? 透过 Web Notifications AP...
此篇会用三个实战范例来当作做 Sass 架构介绍的结尾。 阅读此篇内容前,建议先阅读过前两篇 Sa...
Keyword:Xcode,simulator 到Day6完成第一个KMM专案的Code放在 KMM...
工程师太师了: 第5话 杂记: 我很建议大家在下班之余, 如果有些闲暇可以做side project...
我们通常认为一个消费者,都是想像他买了产品使用的样子。 但其实从行销系统的角度来看,这个“他”也是...