iOS PHP實現登入功能

2021-09-18 06:34:21 字數 3384 閱讀 4016

在開發過程中,也是碰到了各種各樣的問題,經過不斷的除錯和改變方法,終於將所有的坑都基本上填滿了,因此,將最終完整版的**及相關流程記錄在此,供自己及其它需要的人查閱使用。

一、一些約定條件

當在裝有win 7系統的電腦上配置伺服器時,我使用的是wamp整合軟體,資料庫和表的編輯操作使用的是sqlyog軟體,這樣可以有效的建立、修改表的內容。==注意,在win7的電腦上搭建完後台並建立好資料庫之後,還需要進行區域網的配置工作,這樣才能讓處於同一區域網下的裝置(如手機)連線到這台電腦及後台==。這個方法我也忘了,所以需要您和其他做php後台開發的同仁諮詢。==如果您已經知道怎麼做了,也歡迎不吝賜教,我好記錄在本文章中,供更多人的來學習==。

一些約定條件如下

[x] 手機客戶端能成功連線後台伺服器,並與後台伺服器進行資料互動

[x] 密碼為原始輸入的字串,不經過md5等加密方式的加密(正常開發時,請務必進行加密處理)

[x] 傳輸方式選擇get傳輸(為了安全起見,最好使用post傳輸方式)

[x] 登入賬號只選擇手機號(正常開發時,登入的賬號可能還有email或者使用者名稱)

二、資料庫和表的建立及初始化

正常情況下,每一列都最好設定為「非空」,如果使用者沒有輸入,那麼可以預設使用「n/a」等填充,等使用者輸入了當前列對應的內容了,再替換掉「n/a」即可。

因為我們是做登入模組的驗證,沒有經過註冊,因此,資料庫中是沒有資訊的。我們可以手動先填寫一些資訊,供測試使用。填寫好的內容如下圖所示(使用的phpmyadmin客戶端插入的資料)

==注意,此時的密碼是完全的明文密碼,未進行任何加密,這主要是為了測試方便使用,正常開發時,請務必將儲存到資料庫中的密碼進行加密處理。==

至此,資料庫相關的「配置」就處理完了,下面是php**相關的內容。

三、php**

在php**中,我們主要完成的是接收客戶端傳輸過來的資料,並將資料與資料庫進行匹配驗證,一般驗證的內容有兩點:

[x] 使用者輸入的賬號是否存在

[x] 使用者輸入的賬號存在的情況下,賬號和密碼是否與資料庫中的一一匹配

因此,我們的php**主要就是圍繞這兩個邏輯來編寫。

首先,編寫資料庫連線**,並儲存到其它使用者讀取不到的位置。

對php有一些了解的人應該知道,儲存在htddoc路徑(對於使用wamp整合的環境來說,就是www資料夾下,如下圖)下的檔案,是可以被瀏覽器通過輸入**的方式讀取到的,如果將登入資料庫使用的賬戶和密碼資訊放到這個資料夾下,那麼資料庫是非常不安全的。

因此,我們通常將連線資料庫需要的php**單獨編寫並儲存為「.php」格式的檔案,然後將這個檔案放置在與「www」同級的位置,如下圖所示的「connectiontodb.php」檔案。

//連線資料庫的格式通常為

//$dbc = mysqli_connect(hostname, 登入賬號, 登入密碼, 資料庫的名稱) or die("連線失敗:".mysql_error());

//對於區域網,這個ip位址可能會不斷的變化,因此,如果沒有做ip固化的操作,每次使用後台伺服器時,最好都迦納差一下這個ip位址,然後將「connectiontodb.php」中的ip位址換為正在使用的位址

//登入賬號:一般是根使用者root。如果不使用根使用者,就使用資料庫擁有者為你開闢的使用者名稱和密碼

//登入密碼:對應登入賬號的密碼

//資料庫名稱:要連線的資料庫的名稱。一般乙個產品只有乙個資料庫,該資料庫中有很多的表

==注意:php**的編寫,一定要使用utf-8的編碼格式,這點要切記。下面提到的php檔案均採用這種編碼格式,將不再贅述。==

「www」目錄就想到於在瀏覽器中輸入的localhost或者192.168.1.101這個ip位址,所以能看到,我們要編寫的「login.php」在下兩級目錄下,知道這點這對於我們編寫「login.php」檔案中的某些**是有必要的。

login.php

header('content-type:text/html;charset=utf-8'); //**的方式設定編碼方式

require_once('../../../connectiontodb.php');

//乙個"../"代表一級目錄,

//因為我們的「connectiontodb.php」檔案與「www」資料夾在同一級目錄下

//從「login.php」追溯「connectiontodb.php」需要進過**目錄,所以需要三個"../"

$posteddata = $_request; //$_request既可以獲取到通過post方式傳輸的資料,也可以獲取到通過get方式傳輸的資料

$useraccounttype = $posteddata['account_type'];

//獲取使用者輸入的賬號和密碼

$useraccount = $posteddata['user_account'];

$userpassword = $posteddata['user_password'];

//根據賬戶形式獲取對應的賬號內容,用於後面的比對

//是否賬號是否存在的標籤以及是否登入成功的標籤

$accountbeingornotflag = "0"; //0代表賬號不存在,1代表賬號存在

$loginokornotflag = "0"; //0代表登入失敗,1代表登入成功

switch ($useraccounttype) else else else else else else {

$accountbeingornotflag = "0"; //賬號不存在

$returnarr = array("accountbeingornotflag" => $accountbeingornotflag, "loginokornotflag" => $loginokornotflag);

mysqli_close($dbc);

echo json_encode($returnarr); //輸出json格式

break;

好了,和登入有關的php**已經編寫完成了

實現登入 Flask 實現登入功能

在大多數人學習 web 開發的路線圖中,登入功能往往是我們接觸到的第乙個功能,本文對 flask 實現登入功能做乙個簡單的介紹。需求的分析往往是實現的第一步,在對 flask 的登入功能進行編碼 demo 之前,有必要先介紹一下登入模組的功能列表和基本流程。乙個登入功能主要要實現如下幾個基本的功能點...

iOS PHP 註冊登入系統(一) PHP部分

最後達成效果 分析做專案的基本流程 1.先建立資料庫 2.寫php服務端 3.寫ios使用者端 1.建立資料庫 我用的是wamp。資料庫名稱為ioslogin,表名為users其中有3個字段user id,user name和user pwd。user id為自增長。2.php服務端 php端我用的...

php實現登入功能

開始自然是從最簡單的功能起步,我第乙個任務選擇了做乙個登入操作,其實也沒想象中那麼簡單。1.首先自然是連線和建立資料庫 這部分我寫在model.php中 username root password host localhost database login 建立連線 conn mysqli con...