欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

php鏈接數(shù)據(jù)庫登錄驗證,php用戶登錄功能驗證

php連接數(shù)據(jù)庫驗證用戶名密碼沒輸入賬號直接提示失敗 去掉exit('登錄失敗!'); 可以正常登錄,請大佬看看

這個是登錄流程問題,

創(chuàng)新互聯(lián)建站是一家專業(yè)提供鹽田企業(yè)網(wǎng)站建設,專注與成都網(wǎng)站建設、成都網(wǎng)站制作、H5開發(fā)、小程序制作等業(yè)務。10年已為鹽田眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設公司優(yōu)惠進行中。

一般正確的流程是在第一次打開登錄頁面的時候,應該先執(zhí)行html那部分的,然后顯示登錄頁的布局,然后輸入賬號和密碼 點擊登錄的按鈕,表單提交到自身,然后才是執(zhí)行數(shù)據(jù)庫連接,數(shù)據(jù)庫查詢賬號密碼是否正確這些流程,如果正確就跳轉(zhuǎn)頁面,錯誤就顯示登錄失敗。

而從你的代碼看第一次打開登錄頁面的時候 是先執(zhí)行了php代碼,查數(shù)據(jù)庫所以會先提示登錄失敗。

你可以把你的代碼 php部分外層加一個if($_POST){}判斷, 然后登錄的時候用Post提交,這樣你在刷新登錄頁的時候,因為是get提交所以不會執(zhí)行if判斷里的代碼,然后點登錄的時候才會觸發(fā)if里的代碼

php登錄頁面完整代碼連接數(shù)據(jù)庫

創(chuàng)建conn.php,連接數(shù)據(jù)庫。

$dns = 'mysql:host=127.0.0.1;dbname=test';

$username = 'root';

$password = 'root';

// 1.連接數(shù)據(jù)庫,創(chuàng)建PDO對象

$pdo = new PDO($dns,$username,$password);

創(chuàng)建login.html,登陸頁面。

用戶名

密 碼

創(chuàng)建login.php,驗證賬號密碼。

header("Content-Type: text/html; charset=utf8");

if(!isset($_POST["submit"])){

exit("錯誤執(zhí)行");

}//檢測是否有submit操作

include('conn.php');//鏈接數(shù)據(jù)庫

$name = $_POST['name'];//post獲得用戶名表單值

$pwd = sha1($_POST['password']);//post獲得用戶密碼單值

if ($name $pwd){//如果用戶名和密碼都不為空

$sql = "select * from user where username = '$name' and password='$pwd'";//檢測數(shù)據(jù)庫是否有對應的username和password的sql

$stmt = $pdo-prepare($sql);

$stmt-execute();

if($stmt-fetch(PDO::FETCH_BOUND)){//0 false 1 true

header("refresh:0;url=welcome.html");//如果成功跳轉(zhuǎn)至welcome.html頁面

exit;

}else{

echo "用戶名或密碼錯誤";

echo "

setTimeout(function(){window.location.href='login.html';},1000);

";//如果錯誤使用js 1秒后跳轉(zhuǎn)到登錄頁面重試;

}

}else{//如果用戶名或密碼有空

echo "表單填寫不完整";

echo "

setTimeout(function(){window.location.href='login.html';},1000);

";

//如果錯誤使用js 1秒后跳轉(zhuǎn)到登錄頁面重試;

}

$pdo = null;

創(chuàng)建signup.html,注冊頁面

用戶名:

密 碼:

創(chuàng)建signup.php

header("Content-Type: text/html; charset=utf8");

if(!isset($_POST['submit'])){

exit("錯誤執(zhí)行");

}//判斷是否有submit操作

$name=$_POST['name'];//post獲取表單里的name

$pwd = sha1($_POST['password']);//post獲取表單里的password

include('conn.php');//鏈接數(shù)據(jù)庫

$sql="insert into user(id,username,password) values (null,'$name','$pwd')";//向數(shù)據(jù)庫插入表單傳來的值的sql

$stmt = $pdo-prepare($sql);

$stmt-execute();

$stmt-fetch(PDO::FETCH_BOUND);

if (!$stmt){

die('Error: ' . $stmt-getMessage());//如果sql執(zhí)行失敗輸出錯誤

}else{

echo "注冊成功";//成功輸出注冊成功

}

$pdo = null;//關閉數(shù)據(jù)庫

php連接數(shù)據(jù)庫,登入系統(tǒng)!!求代碼!!!

//采用pdo鏈接數(shù)據(jù)庫

try{

$dsn

=

'mysql:host=127.0.0.1;dbname=citest';

$pdo

=

new

PDO($dsn,'root','qq');

$pdo-setAttribute(3,2);

}catch(PDOEXCEPTION

$e){

echo

$e-

getMessage

();

}

//通過預處理查詢驗證

try{

$sql

=

"SELECT

count(*)

FROM

users

WHERE

username=:username

AND

password=:password";

$stmt

=

$pdo-prepare($sql);

$data

=

$stmt-execute($_GET);

//接過來的post值,前提表單中的name值和數(shù)據(jù)庫的的字段名稱相同

if($data){

echo

'登陸成功';

}else{

echo

'登陸失敗';

}

}catch(PDOEXCEPTION

$e){

echo

$e-getMessage();

}

php 連接數(shù)據(jù)庫做用戶登錄,急

建議樓主檢查一下sql對不對,主要看你數(shù)據(jù)庫有沒有sql語句的字段或者表

還有,你的密碼是經(jīng)過md5處理的,所以,你看你在做注冊用戶的時候,密碼是不是也經(jīng)過了md5處理,沒有的話,系統(tǒng)會判斷2個密碼不相等,盡管他們的值是相同的(MD5不懂的話去搜搜,大把大把的),我估計是你注冊的時候密碼沒處理~,你把$password = MD5($_POST['password']);的MD5去掉試試

if($check_query){

$_SESSION['username'] = $username;

echo $username,' 歡迎你!進入 a href="my.php"用戶中心/abr /';

exit;

} else {

exit('登錄失敗!點擊此處 a href="javascript:history.back(-1);"返回/a 重試');

}

$_SESSION['username'] = $username 是把用戶名的值賦給一個叫username的session(這屬于會話,不懂去搜搜看)

文章題目:php鏈接數(shù)據(jù)庫登錄驗證,php用戶登錄功能驗證
分享地址:http://chinadenli.net/article21/dseidjd.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版網(wǎng)站建設微信公眾號網(wǎng)頁設計公司全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站