php登錄的一個小實例(php網站實例)

本文目錄一覽:

php單點登陸(sso)實例

建一個在線用戶表 字段 包括session_id,user_id,

如果你想 用戶登錄後沒有退出 用戶繼續使用相同賬戶 密碼登錄的話 踢出原來已經登錄的用戶

用戶登錄成功時,把sessuib_id,user_id插入到在線用戶表中

下次用戶登錄時 根據user_id查詢這個表 若有記錄取得相應的session_id 並刪除相應的session文件即可。

php curl 模擬登錄並獲取數據實例詳解

PHP的curl()在抓取網頁的效率方面是比較高的,而且支持多線程,而file_get_contents()效率就要稍低些,當然,使用curl時需要開啟下curl擴展。

代碼實戰

先來看登錄部分的代碼:

//模擬登錄

function

login_post($url,

$cookie,

$post)

{

$curl

=

curl_init();//初始化curl模塊

curl_setopt($curl,

CURLOPT_URL,

$url);//登錄提交的地址

curl_setopt($curl,

CURLOPT_HEADER,

0);//是否顯示頭信息

curl_setopt($curl,

CURLOPT_RETURNTRANSFER,

0);//是否自動顯示返回的信息

curl_setopt($curl,

CURLOPT_COOKIEJAR,

$cookie);

//設置Cookie信息保存在指定的文件中

curl_setopt($curl,

CURLOPT_POST,

1);//post方式提交

curl_setopt($curl,

CURLOPT_POSTFIELDS,

http_build_query($post));//要提交的信息

curl_exec($curl);//執行cURL

curl_close($curl);//關閉cURL資源,並且釋放系統資源

}

函數login_post()首先初始化curl_init(),然後使用curl_setopt()設置相關選項信息,包括要提交的url地址,保存的cookie文件,post的數據(用戶名和密碼等信息),是否返回信息等等,然後curl_exec執行curl,最後curl_close()釋放資源。注意PHP自帶的http_build_query()可以將數組轉換成相連接的字符串。

接下來如果登錄成功後,我們要獲取登錄成功後的頁面信息。

//登錄成功後獲取數據

function

get_content($url,

$cookie)

{

$ch

=

curl_init();

curl_setopt($ch,

CURLOPT_URL,

$url);

curl_setopt($ch,

CURLOPT_HEADER,

0);

curl_setopt($ch,

CURLOPT_RETURNTRANSFER,

1);

curl_setopt($ch,

CURLOPT_COOKIEFILE,

$cookie);

//讀取cookie

$rs

=

curl_exec($ch);

//執行cURL抓取頁面內容

curl_close($ch);

return

$rs;

}

函數get_content()中也是先初始化curl,然後設置相關選項,執行curl,釋放資源。其中我們設置CURLOPT_RETURNTRANSFER為1即自動返回信息,而CURLOPT_COOKIEFILE可以讀取到登錄時保存的cookie信息,最後將頁面內容返回。

我們的最終目的是要獲取到模擬登錄後的信息,也就是只有正常登錄成功後才能獲取的有用信息。接下來我們以登錄開源中國的移動版為例,看看如何抓取到登錄成功後的信息。

//設置post的數據

$post

=

array

(

’email’

=

‘oschina賬戶’,

‘pwd’

=

‘oschina密碼’,

‘goto_page’

=

‘/my’,

‘error_page’

=

‘/login’,

‘save_login’

=

‘1’,

‘submit’

=

‘現在登錄’

);

//登錄地址

$url

=

“”;

//設置cookie保存路徑

$cookie

=

dirname(__FILE__)

.

‘/cookie_oschina.txt’;

//登錄後要獲取信息的地址

$url2

=

“”;

//模擬登錄

login_post($url,

$cookie,

$post);

//獲取登錄頁的信息

$content

=

get_content($url2,

$cookie);

//刪除cookie文件

@

unlink($cookie);

//匹配頁面信息

$preg

=

“/td

class=’portrait'(.*)\/td/i”;

preg_match_all($preg,

$content,

$arr);

$str

=

$arr[1][0];

//輸出內容

echo

$str;

使用總結

1、初始化curl;

2、使用curl_setopt設置目標url,和其他選項;

3、curl_exec,執行curl;

4、執行後,關閉curl;

5、輸出數據。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

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做個登陸界面?

你可以做一個簡單的例如你只有用戶名和密碼即可那麼你先在數據庫(以mysql為例)中建表例如叫做user 字段為 id name pass分別是編號、用戶名、密碼長度分別是int(8) a_t(自動編號) 主鍵,varchar(50) ,varchar(50) 你可以添加一個測試數據 例如 1,admin,admin//說明密碼這裡不說加密的問題,用明文實現 登錄頁面的代碼:login.phphtmlheadtitle用戶登錄/title/headbodyform action=”checklogin.php” name=”loginform” method=”post”用戶名:input name=”name” type=”text”br密 碼:input name=”password” type=”password”brinput value=”登錄” type=”submit”br/form/body/html checklogin.php代碼(檢測登錄): $name=$_POST[name];$pass=$_POST[password];session_start();//這個可以維持登錄狀態,可以參照session的使用

//登錄檢查函數 function login_state($uid,$user_shell){ $sql=”SELECT * FROM `user` WHERE `name`=’$name'”;

$query=@mysql_query($sql) or die(mysql_error());

$us=is_array($row=@mysql_fetch_array($query));

$user_shell=$us ? $user_shell==$row[password]:FALSE;

if($user_shell){ echo “scriptalert(‘登錄成功’);/script”;

return $row;

}else{

echo “scriptalert(‘您暫時不能瀏覽該頁面,請先登錄’);location.href=’login.php’;/script”;

} }login_state($name,$password);?

希望可以幫到您,如果還有問題可以聯繫2458285853

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/232259.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-11 12:50
下一篇 2024-12-11 12:50

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python爬蟲可以爬哪些網站

    Python是被廣泛運用於數據處理和分析領域的編程語言之一。它具有易用性、靈活性和成本效益高等特點,因此越來越多的人開始使用它進行網站爬取。本文將從多個方面詳細闡述,Python爬…

    編程 2025-04-29
  • Python生成隨機數的應用和實例

    本文將向您介紹如何使用Python生成50個60到100之間的隨機數,並將列舉使用隨機數的幾個實際應用場景。 一、生成隨機數的代碼示例 import random # 生成50個6…

    編程 2025-04-29
  • 網站為什麼會被黑客攻擊?

    黑客攻擊是指利用計算機技術手段,入侵或者破壞計算機信息系統的一種行為。網站被黑客攻擊是常見的安全隱患之一,那麼,為什麼網站會被黑客攻擊呢?本文將從不同角度分析這個問題,並且提出相應…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 如何用Python訪問網站

    本文將從以下幾個方面介紹如何使用Python訪問網站:網絡請求、POST請求、用戶代理、Cookie、代理IP、API請求。 一、網絡請求 Python有三種主流的網絡請求庫:ur…

    編程 2025-04-29
  • 如何將Python開發的網站變成APP

    要將Python開發的網站變成APP,可以通過Python的Web框架或者APP框架,將網站封裝為APP的形式。常見的方法有: 一、使用Python的Web框架Django Dja…

    編程 2025-04-28
  • 如何在服務器上運行網站

    想要在服務器上運行網站,需要按照以下步驟進行配置和部署。 一、選擇服務器和域名 想要在服務器上運行網站,首先需要選擇一台雲服務器或者自己搭建的服務器。雲服務器會提供更好的穩定性和可…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Python網站源碼解析

    本文將從多個方面對Python網站源碼進行詳細解析,包括搭建網站、數據處理、安全性等內容。 一、搭建網站 Python是一種高級編程語言,適用於多種領域。它也可以用於搭建網站。最常…

    編程 2025-04-28

發表回復

登錄後才能評論