?php
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),長(zhǎng)安企業(yè)網(wǎng)站建設(shè),長(zhǎng)安品牌網(wǎng)站建設(shè),網(wǎng)站定制,長(zhǎng)安網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,長(zhǎng)安網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
//獲取POST表單提交的username
$username?=?isset($_POST['username'])???trim($_POST['username'])?:?'';
//?同上
$password?=?isset($_POST['password'])???trim($_POST['password'])?:?'';
//使用pdo連接mysql數(shù)據(jù)庫(kù)
$conn?=?new?PDO('mysql:host=localhost;dbname=test',?'root',?'root');
//使用參數(shù)綁定查詢記錄
$rs?=?$conn-prepare("SELECT?`uid`?FROM?`test_user`?WHERE?`username`?=?:username?AND?`password`??:password");
$rs-execute(array(
':username'?=?$username,
':password'?=?$password
));
if($rs-columnCount()??0)
{
echo?'登錄成功';
}
else
{
echo?'登錄失敗';
}
創(chuàng)建conn.php,連接數(shù)據(jù)庫(kù)。
$dns = 'mysql:host=127.0.0.1;dbname=test';
$username = 'root';
$password = 'root';
// 1.連接數(shù)據(jù)庫(kù),創(chuàng)建PDO對(duì)象
$pdo = new PDO($dns,$username,$password);
創(chuàng)建login.html,登陸頁(yè)面。
用戶名
密 碼
創(chuàng)建login.php,驗(yàn)證賬號(hào)密碼。
header("Content-Type: text/html; charset=utf8");
if(!isset($_POST["submit"])){
exit("錯(cuò)誤執(zhí)行");
}//檢測(cè)是否有submit操作
include('conn.php');//鏈接數(shù)據(jù)庫(kù)
$name = $_POST['name'];//post獲得用戶名表單值
$pwd = sha1($_POST['password']);//post獲得用戶密碼單值
if ($name $pwd){//如果用戶名和密碼都不為空
$sql = "select * from user where username = '$name' and password='$pwd'";//檢測(cè)數(shù)據(jù)庫(kù)是否有對(duì)應(yīng)的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頁(yè)面
exit;
}else{
echo "用戶名或密碼錯(cuò)誤";
echo "
setTimeout(function(){window.location.href='login.html';},1000);
";//如果錯(cuò)誤使用js 1秒后跳轉(zhuǎn)到登錄頁(yè)面重試;
}
}else{//如果用戶名或密碼有空
echo "表單填寫不完整";
echo "
setTimeout(function(){window.location.href='login.html';},1000);
";
//如果錯(cuò)誤使用js 1秒后跳轉(zhuǎn)到登錄頁(yè)面重試;
}
$pdo = null;
創(chuàng)建signup.html,注冊(cè)頁(yè)面
用戶名:
密 碼:
創(chuàng)建signup.php
header("Content-Type: text/html; charset=utf8");
if(!isset($_POST['submit'])){
exit("錯(cuò)誤執(zhí)行");
}//判斷是否有submit操作
$name=$_POST['name'];//post獲取表單里的name
$pwd = sha1($_POST['password']);//post獲取表單里的password
include('conn.php');//鏈接數(shù)據(jù)庫(kù)
$sql="insert into user(id,username,password) values (null,'$name','$pwd')";//向數(shù)據(jù)庫(kù)插入表單傳來的值的sql
$stmt = $pdo-prepare($sql);
$stmt-execute();
$stmt-fetch(PDO::FETCH_BOUND);
if (!$stmt){
die('Error: ' . $stmt-getMessage());//如果sql執(zhí)行失敗輸出錯(cuò)誤
}else{
echo "注冊(cè)成功";//成功輸出注冊(cè)成功
}
$pdo = null;//關(guān)閉數(shù)據(jù)庫(kù)
建議樓主檢查一下sql對(duì)不對(duì),主要看你數(shù)據(jù)庫(kù)有沒有sql語(yǔ)句的字段或者表
還有,你的密碼是經(jīng)過md5處理的,所以,你看你在做注冊(cè)用戶的時(shí)候,密碼是不是也經(jīng)過了md5處理,沒有的話,系統(tǒng)會(huì)判斷2個(gè)密碼不相等,盡管他們的值是相同的(MD5不懂的話去搜搜,大把大把的),我估計(jì)是你注冊(cè)的時(shí)候密碼沒處理~,你把$password = MD5($_POST['password']);的MD5去掉試試
if($check_query){
$_SESSION['username'] = $username;
echo $username,' 歡迎你!進(jìn)入 a href="my.php"用戶中心/abr /';
exit;
} else {
exit('登錄失??!點(diǎn)擊此處 a href="javascript:history.back(-1);"返回/a 重試');
}
$_SESSION['username'] = $username 是把用戶名的值賦給一個(gè)叫username的session(這屬于會(huì)話,不懂去搜搜看)