2013-06-21 87 views
-3

場景沒有Cookie的PHP會話| Codeigniter

我正在使用一種特殊類型的API,使用短信的呼叫。
這裏用戶發送類似
<APP NAME> <PARAMETERS>
短信網關 9888888888.現在,在這個格式
http://myapi.com/myapp/api.php?mobileNo=912345678&userInput=<PARAMETERS>

問題網關服務器的聯繫人應用程序的API(在這種情況下我的應用程序)

當用戶新我告訴他歡迎消息,並要求他選項,如1>寄存器2>幫助3>的東西。假設他回覆123。網關會送我喜歡
http://myapi.com/myapp/api.php?mobileNo=912345678&userInput=1
請求現在,這意味着用戶要註冊,但我怎麼會告訴服務器左右。通過編碼註冊頁面來簡化,每個編號每次出現$_GET['userInput']==1等等。 但是,當您使用應用程序的其他部分時,問題就出現了。就像我要求用戶回覆1,如果他想做某項工作。在這種情況下,服務器法官如何註冊或完成這項工作?

我將如何判斷用戶想要什麼,當我只傳遞給我的一個參數。例如,我有兩個頁面,其中一個用戶在其中回覆1時他想插入內容,另一個頁面中用戶回覆1時他想與我聯繫。

+0

不知道你問我很抱歉什麼 – DevZer0

+1

你就不能移動號碼連接到一個假的Cookie在你的數據庫來跟蹤該用戶是在這個過程中? – user1618143

+0

@ user1618143您能否描述或鏈接其實施的示例?這種情況是新的 – VenomVipes

回答

0

使用基於數據庫的會話跟蹤該用戶是在這個過程中。例如,考慮表:

CREATE TABLE `mobile_session` (
`mobile_number` VARCHAR(10) NOT NULL PRIMARY KEY, 
`stage` TINYINT(2) NOT NULL 
); 

來自用戶的每個可能組輸入被分配的內部標識符,例如註冊頁面可以是如圖1所示,接觸第2頁等每當用戶與您聯繫,更新數據庫中有他們的手機號碼和他們期待的輸入組。例如,如果1是您的註冊頁面。

REPLACE INTO `mobile_session` VALUES ([[users phone number]], '1'); 

然後,當你收到這樣的請求:

http://myapi.com/myapp/api.php?mobileNo=912345678&userInput=1 

你可以看一下表中的那個電話號碼,看看哪個組的用戶正在回覆到投入,在這種情況下,你會知道用戶正在回覆註冊頁面。