本文目錄一覽:
- 1、求助,php+js實現登錄驗證
- 2、用PHP+JS+MYSQL實現用戶登陸驗證,的具體步驟是怎麼樣的呢
- 3、php簡單的登陸驗證用戶名和密碼怎麼寫
- 4、PHP 中JS驗證表單的問題
- 5、PHP 驗證網頁跳轉到登陸頁面後登陸頁面JS運行不完全
- 6、js 判斷是否登錄
求助,php+js實現登錄驗證
思路就是:
1,前台做個登陸頁面,通過js把數據傳給後台php
2,後台php從資料庫裡面讀取相關的數據
3,php進行數據對比,並把結果返回給js
4,js判斷數據對比結果,顯示不同的界面
代碼:略
用PHP+JS+MYSQL實現用戶登陸驗證,的具體步驟是怎麼樣的呢
第一次學PHP就是做這個驗證..
html做個表單,
當表單onsubmit=return check();調用自寫js來判斷用戶名和密碼是否為空,
如果是空就alert不能為空,然後return false;相反則return true;
而接收的PHP也要驗證是否為空,如果嚴謹點還要對提交的數據進行過濾,防止sql注入。
然後php再根據提交的數據搜MYSQL,如果用戶名和密碼都相同時,echo 登錄成功,相反則登錄失敗.
html
script
function check(obj){
with(obj){
if((user.value+””).length = 0){
alert(“用戶名不能為空”);
return false;
}else if((pwd.value+””).length = 0){
alert(“用戶名不能為空”);
return false;
}else{
return true;
}
}
}
/script
body
form action=”check.php” method=”post” onsubmit=”return check(this)”
input type=”text” name=”user” value=””
input type=”password” name=”pwd” value=””
input type=”submit” name=”submit” value=”登錄”
input type=”cancel” name=”cancel” value=”取消”
/form
/body
/html
?php
$conn = mysql_connect( “資料庫地址”, “資料庫用戶名”, “密碼” );
mysql_query(“set names utf8”);
mysql_select_db( “資料庫名” );
function inject_check($sql_str){
return preg_match(“/select|insert|update|delete|\’|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile|%|eval|=|and|’|;|exec|count/i”, $sql_str); // 進行過濾
}
if(!empty($_POST)){
foreach($_POST as $key = $value){
if(inject_check($value)){
exit (‘scriptalert(“地址欄輸入發現有非法字元,請重新輸入!”);history.go(-1);/script’);
die ();
}
}
}
$res = mysql_query(“SELECT count(*) as m from `表名` where 用戶名=’${_POST[‘user’]}’ AND 密碼=’${_POST[‘pwd’]}'”);
$row = mysql_fetch_object($res);
if($row-m 0){
echo “登陸成功”;
}else{
echo “用戶名或密碼錯誤”;
}
exit;
?
php簡單的登陸驗證用戶名和密碼怎麼寫
給你個實例參考一下php編寫登陸驗證用戶名和密碼吧。
登錄頁面
login.html 負責收集用戶填寫的登錄信息
在CODE上查看代碼片派生到我的代碼片
html
head用戶登錄/head
form name=”LoginForm” method=”post” action=”login.php” onSubmit=”return InputCheck(this)”
p
label for=”username” class=”label”用戶名:/label
input id=”username” name=”username” type=”text” class=”input” /
p/
p
label for=”password” class=”label”密 碼:/label
input id=”password” name=”password” type=”password” class=”input” /
p/
p
input type=”submit” name=”submit” value=” 確 定 ” class=”left” /
/p
/form
/html
登錄處理
login.PHP 負責處理用戶登錄與退出動作。
在CODE上查看代碼片派生到我的代碼片
?php
//登錄
if(!isset($_POST[‘submit’])){
exit(‘非法訪問!’);
}
$username = htmlspecialchars($_POST[‘username’]);
$password = MD5($_POST[‘password’]);
//包含資料庫連接文件
include(‘conn.php’);
//檢測用戶名及密碼是否正確
$check_query = mysql_query(“select userid from user_list where username=’$username’ and password=’$password’ limit 1”);
if($result = mysql_fetch_array($check_query)){
//登錄成功
session_start();
$_SESSION[‘username’] = $username;
$_SESSION[‘userid’] = $result[‘userid’];
echo $username,’ 歡迎你!進入 a href=”my.php”用戶中心/abr /’;
echo ‘點擊此處 a href=”login.php?action=logout”註銷/a 登錄!br /’;
exit;
} else {
exit(‘登錄失敗!點擊此處 a href=”javascript:history.back(-1);”返回/a 重試’);
}
//註銷登錄
if($_GET[‘action’] == “logout”){
unset($_SESSION[‘userid’]);
unset($_SESSION[‘username’]);
echo ‘註銷登錄成功!點擊此處 a href=”login.html”登錄/a’;
exit;
}
?
用戶中心
my.php 是用戶中心,作為用戶登錄檢測。
在CODE上查看代碼片派生到我的代碼片
?php
session_start();
//檢測是否登錄,若沒登錄則轉向登錄界面
if(!isset($_SESSION[‘userid’])){
header(“Location:login.html”);
exit();
}
//包含資料庫連接文件
include(‘conn.php’);
$userid = $_SESSION[‘userid’];
$username = $_SESSION[‘username’];
$user_query = mysql_query(“select * from user_list where userid = ‘$userid’ limit 1”);
$row = mysql_fetch_array($user_query);
echo ‘用戶信息:br /’;
echo ‘用戶ID:’,$userid,’br /’;
echo ‘用戶名:’,$username,’br /’;
echo ‘a href=”login.php?action=logout”註銷/a 登錄br /’;
?
conn.php,用於連接資料庫
在CODE上查看代碼片派生到我的代碼片
?php
$conn = mysql_connect(“127.0.0.1″,”root”,””) or die(“資料庫鏈接錯誤”.mysql_error());
mysql_select_db(“info_db”,$conn) or die(“資料庫訪問錯誤”.mysql_error());
mysql_query(“set names gb2312”);
?
PHP 中JS驗證表單的問題
呵呵,明白你的意思了。你可以這樣做。
第一種方法,就是直接在js腳本里嵌入php代碼:
if(document.myform.check.value!=”?=$_session[‘check’]?”){
……….
}
方法二:就是設置一個隱藏域,用來裝session的值。這樣就和驗證用戶名一樣了。
PHP 驗證網頁跳轉到登陸頁面後登陸頁面JS運行不完全
這是因為緩存引起的,在那個頁面禁止用用緩存,在那個文件最前面加上:
header(“ETag: PUB” . time());
header(“Last-Modified: ” . gmdate(“D, d M Y H:i:s”) . ” GMT”);
header(“Expires: ” . gmdate(“D, d M Y H:i:s”) . ” GMT”);
header(“Pragma: no-cache”);
header(“Cache-Control: max-age=1, s-maxage=1, no-cache, must-revalidate”);
js 判斷是否登錄
如果一定要用js驗證是否登錄,那麼,就需要使用cookie記錄登錄狀態,js可以讀取進行判斷。
//JS操作cookies方法!
//寫cookies
function setCookie(name,value)
{
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + “=”+ escape (value) + “;expires=” + exp.toGMTString();
}
//讀取cookies
function getCookie(name)
{
var arr,reg=new RegExp(“(^| )”+name+”=([^;]*)(;|$)”);
if(arr=document.cookie.match(reg)) return unescape(arr[2]);
else return null;
}
//刪除cookies
function delCookie(name)
{
var exp = new Date();
exp.setTime(exp.getTime() – 1);
var cval=getCookie(name);
if(cval!=null) document.cookie= name + “=”+cval+”;expires=”+exp.toGMTString();
}
//使用示例
setCookie(“name”,”hayden”);
alert(getCookie(“name”));
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/295988.html