一、php可以通過Session,實現用戶登錄驗證。
創新互聯公司專注于滿洲企業網站建設,成都響應式網站建設公司,商城建設。滿洲網站建設公司,為滿洲等地區提供建站服務。全流程按需規劃網站,專業設計,全程項目跟蹤,創新互聯公司專業和態度為您提供的服務
session習慣上被譯為會話,它的設計是為了在一個訪問期間在不同的頁面間傳輸數據,以解決http協議無狀態的問題。
session_register()函數的作用是注冊新的變量,它會在全局變量中增加1個變量到目前的session之中,以后其他頁面可以通過session_is_registered()函數檢測該session變量是否已經注冊。
二、通過session來檢測用戶登錄信息,由兩個文件組成,login.php為用戶登錄頁面,checklogin.php用于檢測賬號、密碼和是否登錄成功。
具體參考代碼如下:
login.php的代碼如下:
?php
session_start();//初始化session
if?(isset($_SESSION['shili']))
{
header("Location:shili.php");?//重新定向到其他頁面
exit();
}
?
script?language="javascript"
function?checklogin(){
if((login.username.value!="")(login.password.value!=""))
{
return?true;//判斷用戶名和密碼不為空,返回TRUE
}
else
{
alert?("昵稱或密碼不能為空!")
}
}
/script
style?type="text/css"
.style1?{?font-size:?13px;??font-family:?"黑體";??font-weight:?normal;???color:?#0099FF;?}
/style
div?align="center"
form?name="login"?method="post"?action="checklogin.php"?onSubmit="return?checklogin()"
table?width="260"?border="1"?bgcolor="#D8EFFA"
tr?align="center"
td?height="30"?colspan="2"span?class="style1"管理系統登錄/span/td
/tr
tr
td?width="90"?align="center"?class="style1"管理員:?/td
td?width="170"?height="20"?align="left"?valign="middle"input?name="username"?type="text"?id="username"?size="20"/td
/tr
tr
td?align="center"?class="style1"密碼:?/td
td?height="20"?align="left"?valign="middle"input?name="password"?type="password"?id="password"?size="20"/td
/tr
tr
td?align="center"?class="style1"/td
td?height="20"?align="center"input?type="submit"?name="Submit"?value="登?錄"/td
/tr
/table
/form
/div
checklogin.php的代碼如下:
?php?
session_start?()?;???????????????????//初始session
if?(isset?($_SESSION['shili']))
{
header?("Location:shili.php")?;????//重新定向到其他頁面
exit?;
}???????????????????????//登錄過的話立即結束
$shili_name=$_POST['username']?;????//獲取參數
$password=$_POST['password']?;
//驗證管理員名稱和密碼是否正確,這里采用直接驗證,沒有連接數據庫
if?($shili_name=="mr"?and?$password=="mrsoft")
{
session_register?("shili")?;????????//注冊新的變量,保存當前會話的昵稱
$shili?=?$shili_name?;
echo?"font?color=red登錄成功!/font"?;
header?("Location:shili.php")?;????//登錄成功重定向到管理頁面
}
else
{
echo?"table?width='100%'?align=centertrtd?align=center"?;
echo?"賬號或密碼錯誤,或者不是管理員賬號br"?;
echo?"font?color=red登錄失敗!/fontbra?href='login.php'請重新輸入/a";
echo?"/td/tr/table"?;
}
?
shili.php的代碼如下:(實驗簡單驗證)
?php
echo?"Welcome?to?My?World!";
?
//如果想要對某個頁面限制瀏覽的用戶,可以使用同樣的方式,只要把如下的代碼放在該頁面的開頭即可:
?php?
session_start?()?;
if?(!isset?($_SESSION['shili'])){
echo?"p?align=center"?;
echo?"font?color=#ff0000?size=5strongbig"?;
echo?"你沒有登錄,請a?href='denglu.php'登錄/a!"?;
echo?"/big/strong/font/p"?;
exit?()?;?
}?
?
去掉后臺驗證碼:找到根目錄下的phpcms/modules/admin/index.php注釋代碼如下:
去掉前臺登錄驗證碼:找到根目錄下的phpcms/modules/member/index.php注釋代碼如下:
?php?
//cookie實現自動登錄
error_reporting(0);//?關閉錯誤報告(瀏覽頁面出現notice可用此法消除)
$user?=?$_POST['username'];
$pwd?=?$_POST['password'];
if?($user!=''$pwd!=''){
if($_POST['remmber']==1){
header("Location:");
//轉到登錄頁面
}
setcookie("username",$user,time()+600);//time()+600指600秒后cookie失效
setcookie("password",$pwd,time()+600);
}
?
html
head
titlelogin/title
/head
body
div?id="wrapper"
form?name="login-form"?class="login-form"?action="login.php"?method="post"
div?class="header"
h1Login?Form/h1
/div
div?class="content"
input?name="username"?type="text"?class="input?username"?value="?php?echo?$_COOKIE["username"];??"?/
input?name="password"?type="password"?class="input?password"?value="?php?echo?$_COOKIE["password"];??"/
/div
div?class="footer"
input?type="submit"?name="submit"?value="Login"?class="button"?/
/div
/form
/div
/body
/html
?php
if(isset($_POST["username"])){//isset()判斷是否為空,不空才執行,0就是空
$username=$_POST["username"];
$password=$_POST["password"];
//$submit=$_POST["submit"];
$con?=?mysql_connect("localhost","root","root");
if(!$con){
die("db?connection?is?wrong:".mysql_errno());
}
mysql_select_db("db_admin",$con);
//進行輸入驗證
$sql1?="select?*?from?register?where?name?='".$username."'";
$str?=?mysql_query($sql1);
mysql_close($con);
$buffer_account="";
$buffer_pwd="";
while($user?=?mysql_fetch_array($str)){
$buffer_account=$user['name'];
$buffer_pwd=$user['pwd'];
}
$value1=strcmp($username,$buffer_account);
$value2=strcmp($password,$buffer_pwd);
if($value1==0$value2==0){
echo?"script?window.location.href=''/script";
}
else{
echo?"scriptalert('you?are?wrong');?window.location.href=''/script";
}
}
?
?php?
$con?=?mysql_connect("localhost","root","root");
if(!$con){
die("db?connection?is?wrong:".mysql_errno());
}
mysql_select_db("db_admin",$con);
//把數據庫里面查詢的數據保存到文件里面
$sql?=?"select?*?from?register";
$result?=?mysql_query($sql);
$data="";
while($row?=?mysql_fetch_row($result)){
foreach($row?as?$v){
$data?.=$v;?
}
}
file_put_contents("abc.txt",$data);
?
你發的這些代碼,只是驗證碼生成頁面!
要去掉驗證碼驗證, 那就要在登陸邏輯處理頁面對驗證碼的驗證進行取消, 而不是這里的代碼!
新聞標題:php數據庫去掉登錄驗證 php連接數據庫
本文鏈接:http://m.newbst.com/article6/dophoig.html
成都網站建設公司_創新互聯,為您提供電子商務、品牌網站建設、Google、微信公眾號、品牌網站設計、動態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯