當前位置:首頁 » 編程語言 » php驗證登錄

php驗證登錄

發布時間: 2023-04-12 00:20:39

A. php 判斷用戶是否登錄

判斷用戶登慎轎陸主要分幾個過程,第一步是用戶登陸成功後把數據保存到session中,然後當用戶訪問需要登陸過的用戶許可權時就來判寬族肆斷session是否為空,如果不是就登錄成功。下面來看個實例判斷用戶登陸主要分幾個過程,第一步是用戶登陸成功後把數據保存到session中,然後當用戶訪問需要登陸過的用戶許可權時就來判斷session是否為空,如果不是就登錄成功。下面來看個實例穗世<?php教程session_start(); if(getconfig("chatroom_admin")==$_post["username"]&&getconfig("chatroom_adminpassword")==md5($_post["password"])){//登陸成功,注冊session session_register("administrator"); if(isset($_session["hack_num"])){session_unregister("hack_num");}$_session["administrator"] = "yes"; header("location:main.php");exit; }else{if($_session["hack_num"]==""){session_register("hack_num"); $_session["hack_num"] = 1;}else{$_session["hack_num"] ++; } header("location:../notice.php?id=".admin_login_lost);exit;}?>看到紅色的沒,那裡就是用戶登錄成功把數據保存到session['hack_num']面。<?php //這個頁面首先判斷用戶是否正確登錄,如未登錄,就轉到登錄頁面。

B. thinkphp 怎麼做登錄驗證

登錄無非就是驗證用戶名密碼以及驗證碼是否正確,我們可以新建一個CommonAction的公共類,用來校驗許可權,其他所有類繼承此類。該類內部寫一個初始化方法,用於驗證,這一講先不詳細講解。繼續說登錄,由於登錄是公開模塊的方法,所以可以新建一個PublicAction類,用於公共的免驗證方法,同時在配置文件中添加

'NOT_AUTH_MODULE'=>'Public',//默認不需要認證的模塊

'USER_AUTH_GATEWAY'=>'/Public/login',//默認的認證網關

然後開始編寫Public類,具體代碼如下:

<?php

{

//驗證碼顯示

publicfunction verify(){

import("ORG.Util.Image");

Image::buildImageVerify(4,1,"png",100,28,"verify");

}

//驗證是否賬號密碼

function checklogin(){

//此處多餘可自行改為Model自動驗證

if(empty($_POST['username'])){

$this->error('帳號錯誤!');

}elseif (empty($_POST['password'])){

$this->error('密碼必須!');

}elseif (empty($_POST['verify'])){

$this->error('驗證碼必須!');

}

$map=array();

$map['username']=$_POST['username'];

$map['status']=array('gt',0);

if($_SESSION['verify']!= md5($_POST['verify'])){

$this->error('驗證碼錯誤!');

}

import('ORG.Util.RBAC');

//C('USER_AUTH_MODEL','User');

//驗證賬號密碼

$authInfo=RBAC::authenticate($map);

if(empty($authInfo)){

$this->error('賬號不存在或者被禁用!');

}else{

if($authInfo['password']!=md5($_POST['password'])){

$this->error('賬號密碼錯誤!');

}else{

$_SESSION[C('USER_AUTH_KEY')]=$authInfo['id'];//記錄認證標記,必須有。其他信息根據情況取用。

$_SESSION['email']=$authInfo['email'];

$_SESSION['nickname']=$authInfo['nickname'];

$_SESSION['user']=$authInfo['username'];

$_SESSION['last_login_date']=$authInfo['last_login_date'];

$_SESSION['last_login_ip']=$authInfo['last_login_ip'];

//判斷是否為超級管理員

if($authInfo['username']=='admin'){

$_SESSION[C('ADMIN_AUTH_KEY')]=true;

}

//以下操作為記錄本次登錄信息

$user=M('User');

$lastdate=date('Y-m-d H:i:s');

$data=array();

$data['id']=$authInfo['id'];

$data['last_login_date']=$lastdate;

$data['last_login_ip']=$_SERVER["REMOTE_ADDR"];

$user->save($data);

RBAC::saveAccessList();//用於檢測用戶許可權的方法,並保存到Session中

$this->assign('jumpUrl',.'/Index/index');

$this->success('登錄成功!');

}

}

}

//退出登錄操作

function logout(){

if(!empty($_SESSION[C('USER_AUTH_KEY')])){

unset($_SESSION[C('USER_AUTH_KEY')]);

$_SESSION=array();

session_destroy();

$this->assign('jumpUrl',/Code.'/login');

$this->success('登出成功');

}else{

$this->error('已經登出了');

}

}

}

以上代碼僅實現功能,沒有做優化,有些驗證的操作可以放到model,session也不用一 一賦值,用數組即可,我想已經入門的應該可以自己改的更好。

C. 用php製作用戶登錄認證網頁

將用戶名和密碼提交到指定的頁面,如checkform.php,然後在該頁面中以傳來的用戶名和密碼為條件,在資料庫中查找,如果有記錄的話,成功登陸,如果沒有,就說明沒有該用戶,活著用戶名錯誤

D. 怎麼使用PHP PDO 寫一個登錄驗證代碼

  • <span style="font-size:18px;"><span style="font-size:18px;"><html>

  • <head>

  • <meta http-equiv="Content-Type" content="text/html; charset="utf-8" />

  • </head>

  • <?php

  • session_start(); //初始化session變數

  • $username = $_POST['name']; //接收表單提交的用戶名

  • $password=md5($_POST['pwd']); //接收表單提交的密碼

  • class chkinput //定義類

  • {

  • var $name;

  • var $pwd;

  • function chkinput($x,$y) //定義一個方法

  • {

  • $this->name=$x; //將管理員名稱傳給類對象$this->name

  • $this->pwd=$y; //將管理員密碼傳給類對象$this->pwd

  • }

  • function checkinput()

  • {

  • include("conn.php"); //連接資料庫文件

  • $sql=mysql_query("select username,password from admin where username='".$this->name."' and password='".$this->pwd."'",$conn);

  • $info=mysql_fetch_array($sql); //檢索管理員名稱和密碼是否正確

  • if($info==false) //如果管理員名稱或密碼不正確,則彈出相關提示信息

  • {

  • echo "<script language='javascript'>alert('您輸入的管理員名稱或密碼錯誤,請重新輸入!');history.back();</script>";

  • exit;

  • }

  • else //如果管理員名稱或密碼正確,則直接跳轉到登陸成功後界面

  • {

  • echo "<script>window.location='home.php';</script>";

  • $_SESSION['admin_name']=$info['username']; //將管理員名稱存到$_SESSION[admin_name]變數中

  • $_SESSION['pwd']=$info['password']; ////將管理員名稱存到$_SESSION[pwd]變數中

  • }

  • }

  • }

  • $obj=new chkinput(trim($username),trim($password)); //創建對象

  • $obj->checkinput(); //調用類

  • ?>

  • </html></span></span>

E. php 用戶登錄:如何判斷用戶是否登錄

login.php

<?php
session_start();
if(isset($_POST['user'])){
$user=$_POST['user'];
$password=$_POST['password'];
if($user=='admin'&&$password=='Password'){//驗證正確
$_SESSION['user']=$user;
//跳轉到首頁
header('location:index.php');
}else{
echo"<script>alert('登錄失敗,用戶名或密碼不正確');</script>";
exit();
}
}
?>
<formmethod="POST">
用戶名:<inputtype="text"name="user"><br/>
密碼:<inputtype="text"name="password"><br/>
<inputtype="submit"value="提交">
</form>

index.php

<?php
session_start();
if(isset($_SESSION['user'])&&!empty($_SESSION['user'])){
echo"登錄成功:".$_SESSION['user'];
}else{
echo"你還沒有登錄,<ahref='login.php'>請登錄</a>";
}
?>

望採納 Thx

F. php驗證登陸成功以後 如何實現彈框效果

這個簡單點可以用js效果來實現

<scripttype="text/javascript">
alert('登錄顫歲成功');
</script>

高級的都是寫一茄歷睜個彈出層div樣式,然後判斷你爛胡登錄成功之後在顯示出來,一般網站都是這樣做的,通過設置彈出層樣式來達到實現彈出框的效果,正常狀態下是隱藏的,需要時才會顯示出來。

G. php登錄系統身份驗證

login.html
<form
id="form1"
name="form1"
method="post"
action="checklogin.php">
<table
width="400">
<tr>
<th
width="27%"
scope="row">用戶名</th>
<td
width="73%"><input
name="user_name"
type="text"
id="user_name"
/></td>
</tr>
<tr>
<th
scope="row">密碼</th>
<td><input
name="user_pwd"
type="password"
id="user_pwd"
/></td>
</tr>
<tr>
<th
scope="row">請填寫答案
</th>
<td><input
name="yzm"
type="text"
id="yzm"
size="5"
/>
123</td>
</tr>
<tr>
<td
colspan="2"
scope="row"><div
align="center">
<input
type="submit"
name="Submit"
value="
登錄
"
/>
</div></td>
</tr>
</table>
</form>
checklogin.php
<?php
session_start();
require_once("../include/class/Mysql.class.php");
require_once("../include/class/FuncAdmin.class.php");
require_once("../include/class/Users.class.php");
$db
=
new
Mysql();
$db->getConnection(1);
$db->select_db();
$db->query("set
names
gb2312");
$f
=
new
FuncAdmin();
if(!empty($_POST['Submit'])){
//判斷登錄
$user_name
=
$_POST['user_name'];
$user_pwd
=
$_POST['user_pwd'];
$yzm
=
$_POST['yzm'];
//加強驗證
//此處很重要但沒寫出呢cxmcook
if(empty($user_name)
||
empty($user_pwd)){
$f->alert_back("用戶名與密碼不能為空!");
}
$user
=
new
Users();
$sql
=
$user->get_select_sql("
where
user_name='".$user_name."'
and
user_pwd='".$user_pwd."'
");
$rs
=
$db->query($sql);
$row
=
$db->fetch_array($rs);
//var_mp($row);
//die("<hr>");
$rownum
=
$db->num_rows($rs);
//die('=========='.$rownum);
if(
$rownum
>0
){
//$row
=
$db->fetch_array($rs);
$_SESSION['admin']
=
'admin';
$_SESSION['user_id']
=
$row['user_id'];
$_SESSION['user_name']
=
$row['user_name'];
$_SESSION['user_realname']
=
$row['user_realname'];
$_SESSION['user_last_logintime']
=
$row['user_last_logintime'];
$_SESSION['user_last_loginIp']
=
$row['user_last_loginIp'];
$_SESSION['user_loginnum']
=
$row['user_loginnum'];
//header("Location:index.php");
echo
"<script>
alert('登錄成功!".$_SESSION['user_realname']."');
location='index.php';
</script>";
}else{
$f->admin_tip("用戶名或密碼錯誤!");
}
}
?>

H. php登錄驗證第一次沒反應,第二次可以登錄成功

你登陸成功不要用這種js跳轉,用php的header('Location: /index.php');
之所以你這種第一次不成功是由於cookie和session引起的,你填寫完賬號密碼登陸,這是第一次請求session_start時候會對於這個sessionID生成一個cookie保存在你的客戶端,然而cookie要起作用必需又是,下次請求的時候客戶端帶著cookie來伺服器找回對應的session,因為你提交賬號密碼時候你本地還沒有對應的cookie,所以必須是上一句說的(下次),衡襲橡你上面代碼中的back是瀏覽器歷史紀錄的回退,並沒有新建一個請求,所以沒有跳轉到index.php,如果你刷新了他找到了對應得session就自然會跳轉

栗子:
你去麵包店買蛋糕,你第一次去老闆肯定不會給你蛋糕,你沒給錢他也沒把憑據給你,
然後你下了訂單,老闆寫了一張單給你,自己留了一份底單,下次你帶著底單過來的時候,他就會把你下單時候買的蛋糕給你(單據就類似於session 你的底單就相當於cookie)

怎麼禪散改上面的代碼就不說了,好咐旁好吃透cookie和session之間的原理你就會解決了

I. PHP裡面的登錄驗證問題

這個登錄判斷有問題,很不安全,。第一,密碼不區分大小寫,也就是大寫和小寫都會進去,所以要先根據用戶名來做,先看用戶名在不在,如果存在,就查詢出密碼,然後將查詢的密碼和你接過來的密碼判斷,。第二,session登錄的話,要開啟session,還要注冊,然後給session變數賦值,第三,登錄的時候看前面一個地址是不是你的登陸地址,防止別人暴力破解。。兄弟,祝你好運,。我說的地方你注意下就可以了。、

J. 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">用戶中心</a><br />';
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");
?>

熱點內容
紅米4a高配版什麼配置 發布:2024-11-02 06:37:51 瀏覽:162
如何給word文件加密碼 發布:2024-11-02 06:21:10 瀏覽:717
台達模擬量編程 發布:2024-11-02 06:19:41 瀏覽:411
23456解壓 發布:2024-11-02 06:19:40 瀏覽:183
我的世界伺服器個人創造在哪裡 發布:2024-11-02 06:10:36 瀏覽:638
增霸卡的密碼是多少 發布:2024-11-02 06:06:18 瀏覽:813
傳奇天下第一完整腳本 發布:2024-11-02 06:04:03 瀏覽:587
javago性能 發布:2024-11-02 05:51:47 瀏覽:863
國內ip代理伺服器設置方式 發布:2024-11-02 05:42:42 瀏覽:842
線刷包文件夾 發布:2024-11-02 05:35:35 瀏覽:626