js實(shí)現(xiàn)登陸與注冊(cè)功能
本文實(shí)例為大家分享了js實(shí)現(xiàn)登陸與注冊(cè)功能的具體代碼,供大家參考,具體內(nèi)容如下
1、首先在phpstudy文件中尋找到一個(gè)文件名叫 “www” 的文件 在里面創(chuàng)建html,js,php文件;
2、在Navicat 軟件中連接到phpstudy的MySQL;
3、在Navicat 軟件中尋找一個(gè)數(shù)據(jù)庫(kù) 并創(chuàng)建一個(gè)表格;
4、書寫html代碼(如下圖1)編寫簡(jiǎn)單的注冊(cè)表單結(jié)構(gòu) 并通過(guò)js 給表單驗(yàn)證;點(diǎn)擊注冊(cè)跳轉(zhuǎn)到php文件中;
5、php代碼(如下圖2) 首先獲取html代碼中表單的值 然后查找表單的數(shù)據(jù) 進(jìn)行判斷 如果用戶存在就跳轉(zhuǎn)回到上個(gè)html頁(yè)面 用戶名設(shè)置成功后數(shù)據(jù)會(huì)自動(dòng)保存到Navicat 軟件中的先前創(chuàng)建的表格中,保存之后跳轉(zhuǎn)到登陸頁(yè)面;
6、跳轉(zhuǎn)到登陸頁(yè)面 (如圖3);進(jìn)入登陸頁(yè)面后可以輸入之前注冊(cè)的用戶名和密碼進(jìn)行驗(yàn)證 驗(yàn)證過(guò)程是首先驗(yàn)證用戶名是否存在然后驗(yàn)證密碼是否正確 ; 用戶名不存在跳轉(zhuǎn)回去重新輸入 密碼不正確提用戶 重新輸入密碼;都正確之后跳轉(zhuǎn)到登陸的php文件中;
7、跳轉(zhuǎn)到登陸的php文件中(如圖4);獲取登陸名到數(shù)據(jù)庫(kù)中進(jìn)行驗(yàn)證 ;驗(yàn)證哪里出問(wèn)題就進(jìn)行彈窗提示;如果驗(yàn)證成功就把用戶名保存一份到瀏覽器中;
8、登陸成功后就可以跳轉(zhuǎn)到我們的首頁(yè)進(jìn)行訪問(wèn)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="register.php" method="POST">
<table>
<caption>注冊(cè)</caption>
<tr>
<td>用戶名:</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>密碼:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td>確認(rèn)密碼:</td>
<td><input type="password" name="repass"></td>
</tr>
<tr>
<td>手機(jī)號(hào)碼:</td>
<td><input type="text" name="tel"></td>
</tr>
<tr>
<td>郵箱:</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td><input type="submit" value="注冊(cè)"></td>
</tr>
</table>
</form>
</body>
<script>
var form = document.querySelector('form');
var username = document.querySelector('[name="username"]');
var password = document.querySelector('[name="password"]');
var repass = document.querySelector('[name="repass"]');
var tel = document.querySelector('[name="tel"]');
var email = document.querySelector('[name="email"]');
var btn1 = document.querySelector('[type="submit"]');
form.onsubmit = function(){
var reg = /^\w{4,12}$/;
if(!reg.test(username.value.trim())){
alert('請(qǐng)正確輸入用戶名');
return false;
}
var reg = /^\d{6,16}$/;
if(!reg.test(password.value.trim())){
alert('請(qǐng)正確輸入密碼');
return false;
}
if(password.value.trim() !== repass.value.trim()){
alert('兩次密碼輸入不正確');
return false;
}
var reg = /^1[3-9]\d{9}$/;
if(!reg.test(tel.value.trim())){
alert('請(qǐng)正確輸入手機(jī)號(hào)');
return false;
}
var reg = /^([1-9]\d{4,10}@qq|[a-zA-Z]\w{5,17}@(163|126))\.com$/;
if(!reg.test(email.value.trim())){
alert('請(qǐng)正確輸入郵箱');
return false;
}
}
</script>
</html>
<?php
// 修訂編碼格式
header("content-type:text/html;charset=utf8");
// 提取username的值
$username = $_POST['username'];
// 提取password的值
$password = $_POST['password'];
// 提取tel的值
$tel = $_POST['tel'];
// 提取email的值
$email = $_POST['email'];
// 連接數(shù)據(jù)庫(kù)
$con = mysqli_connect("localhost","root","root","test");
// 查找數(shù)據(jù)庫(kù)里面的用戶名
$res = mysqli_query($con,"select * from register where username='$username'");
// 查找一個(gè)數(shù)據(jù)庫(kù)的用戶名
$row = mysqli_fetch_assoc($res);
// 判斷用戶名是否存在
if($row){
echo ("<script>
alert('用戶名已被占用');
location.href='register.html';</script>");
}else{
// 給數(shù)據(jù)庫(kù)添加數(shù)據(jù)
$res = mysqli_query($con,"insert register(username,password,tel,email) values('$username','$password',$tel,'$email')");
// 判斷
if($res){
echo ("<script>
alert('注冊(cè)成功');
location.href='land.html';</script>");
}else{
echo ("<script>
alert('注冊(cè)失敗請(qǐng)重新注冊(cè)');
location.href='register.html';</script>");
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="land.php" method="POST">
<table>
<caption>登陸</caption>
<tr>
<td>用戶名:</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>密碼:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td><input type="submit" value="登陸"></td>
</tr>
</table>
</form>
</body>
<script>
var form = document.querySelector('form');
var username = document.querySelector('[name="username"]');
var password = document.querySelector('[name="password"]');
var btn1 = document.querySelector('[type="submit"]');
form.onsubmit = function(){
var reg = /^\w{4,12}$/;
if(!reg.test(username.value.trim())){
alert('請(qǐng)正確輸入用戶名');
return false;
}
var reg = /^\d{6,16}$/;
if(!reg.test(password.value.trim())){
alert('請(qǐng)正確輸入密碼');
return false;
}
}
</script>
</html>
<?php
header('content-type:text/html;charset=utf8');
$username = $_POST['username'];
$password = $_POST['password'];
$con = mysqli_connect("localhost","root","root","test");
$res = mysqli_query($con,"select * from register where username = '$username'");
$row = mysqli_fetch_assoc($res);
if($row){
if($row['password'] === $password){
setcookie('username',$username);
echo ("<script>
alert('登陸成功');
location.href='comment.html';</script>");
}else{
echo ("<script>
alert('密碼錯(cuò)誤');
location.href='land.html';</script>");
}
}else{
echo ("<script>
alert('用戶名不存在');
location.href='land.html';</script>");
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
javascript伸縮型菜單實(shí)現(xiàn)代碼
這是一款真正的JavaScript伸展收縮型菜單,鼠標(biāo)放上看一看,是不是很酷?鼠標(biāo)劃出菜單項(xiàng)的時(shí)候,背景會(huì)伸長(zhǎng)。菜單沒(méi)有加鏈接,想用的自己加,再美化一下,絕對(duì)夠個(gè)性吧。2015-11-11
JavaScript encodeURI 和encodeURIComponent
encodeURI和encodeURIComponet函數(shù)都是javascript中用來(lái)對(duì)URI進(jìn)行編碼,將相關(guān)參數(shù)轉(zhuǎn)換成UTF-8編碼格式的數(shù)據(jù)。URI在進(jìn)行定位跳轉(zhuǎn)時(shí),參數(shù)里面的中文、日文等非ASCII編碼都會(huì)進(jìn)行編碼轉(zhuǎn)換2015-12-12
Bootstrap 3的box-sizing樣式導(dǎo)致UEditor控件的圖片無(wú)法正??s放的解決方案
這篇文章主要介紹了Bootstrap 3的box-sizing樣式導(dǎo)致UEditor控件的圖片無(wú)法正??s放的解決方案的相關(guān)資料,需要的朋友可以參考下2016-09-09

