台灣最大程式設計社群網站
線上人數
981
 
會員總數:239905
討論主題:186053
歡迎您免費加入會員
討論區列表 >> PHP >> 想請教推廣碼的生成與接收
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
想請教推廣碼的生成與接收
價值 : 100 QP  點閱數:228 回應數:10

樓主

leo
門外漢
0 10
220 22
發送站內信

如標題
網站的推廣連結碼要如何生成?

有問補習班老師

他用了一個get的變數...回傳至某一頁,然後那一頁裡有接收get變數去將資料計數,通常是用用戶的ID是沒錯,比較方便,有也的會用ID去加密後的一個變數然後再還原.......以防ID被捉到...

看了OpenCart裡面的推廣碼(追蹤碼)~~他就是所謂的加密過的嗎?還是另外製作的?

如果要自己來做一個測試要如何生成與接收?

搜尋相關Tags的文章: [ 推廣碼 ] ,
本篇文章發表於2017-04-21 15:44
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
所以你的問題是?
PHP要如何生成與接收推廣碼?
OpenCart要如何測試推廣碼?
本篇文章回覆於2017-04-24 09:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

leo
檢舉此回應
PHP要如何生成與接收推廣碼
本篇文章回覆於2017-04-24 22:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

leo
檢舉此回應


我嘗試用這個來產生一段不重複的字串,在註冊會員時帶入推廣連解碼的欄位中



再從會員資料中帶入這個編號到網址後面

以上這樣生成不知道是否正確??

後面就是接收的問題~~

如果我點了這個連結我要讓"fbo_number"這個欄位自動帶入這個編號~我想不到該怎麼接收= =抱歉
本篇文章回覆於2017-04-25 00:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
不錯的參考

迷路
捐贈 VP 給 迷路 檢舉此回應
第一,我不建議在註冊表單送出前產生連結碼
樓主的寫法會有連結碼重複的可能
即便先做檢查,也無法排除同時間兩個填註冊表的人或得相同的連結碼
所以建議是註冊表送出後,儲存會員資料時再產生
*就算樓主用了微秒和md5仍然無法百分之百保證不重複,
一來樓主只取前六字元,二來md5的組合其實是個有限的組合,所以重複的可能性從一開始就存在

第二,既然網址都已經有帶入連結碼,接收應該很簡單才對啊?
$_GET["u"]就能取得連結碼的值,先檢查值是否合法(排除注入攻擊),然後將值帶入你設計的欄位中
但是我通常都是直接找出連結碼是哪個會員的,然後直接將該會員的ID存入新會員的欄位中
不過,這部分就是屬於資料表設計,跟樓主提出的問題沒有直接的關係
本篇文章回覆於2017-04-25 09:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

leo
檢舉此回應
迷大

您說的""直接找出連結碼是哪個會員的,然後直接將該會員的ID存入新會員的欄位中""

這個要怎麼操作
本篇文章回覆於2017-04-25 15:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
你在會員註冊的時候,不是會把連結碼存在track這個欄位中嗎?
用新會員註冊時帶入的連結碼去查詢是屬於哪個會員的連結碼
這個應該是很基本的操作吧??SELECT應該是很基本的SQL,更何況你都撈過會員資料了,不可能不會用啊??

我的重點是在會員的資料表中記錄推薦會員的ID,而非是推薦會員的連結碼
所以我才說這是屬於資料表設計的問題
本篇文章回覆於2017-04-26 10:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
類似這樣的東西,基本上有以下幾種方式

1.偽代碼:
利用現有的代碼生成新的代碼判斷的方式。
如用userid。則用 md5(userid.'KEYCODE')的生成方式。
KEYCODE可以用一個固定值來記錄。防止被推算出來。
優點是程式不需要做很大的修正。表欄位不需要變動
缺點就是比較容易被推算出來跟洗量。

2.代碼生成:
在對應的表,如user表。直接增加一個欄位,在產生user記錄的同時。也連帶生成一個機代碼做為推廣碼。
日後只要用此代碼就行了。
優點時搜尋容易統一。
缺點要特別去注意有無重覆的問題。

3.推廣碼系統:
增加一個專門記錄推廣碼的表。上再對應生成時間,是否已被使用、跟要對應的用戶id
優點是比較好容易像是唯一性的值。才也不容易被洗量。畢竟一個代碼最多用一次。
缺點就是開發會比較多時間。


以上的方式是目前各大系統比較常用的方式。你可以決定你想要做哪種方式
本篇文章回覆於2017-04-26 17:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

leo
檢舉此回應
迷大謝謝

我的困惱因該在要

如何將A會員的某欄位資料

儲存到新註冊的B會員的某欄位資料中

我一直卡在這個想法上@@

版主你好

您說的
3.推廣碼系統:
增加一個專門記錄推廣碼的表。上再對應生成時間,是否已被使用、跟要對應的用戶id
優點是比較好容易像是唯一性的值。才也不容易被洗量。畢竟一個代碼最多用一次。
缺點就是開發會比較多時間。

這個可以解決迷大所說的重複的問題

我想到方式

1.建立推薦碼資料表
ID、擁有者ID、生成時間

2.註冊、跟新會員資料時結合兩個資料表(會員資料與推廣碼資料表)

3.因該又是我的問題卡住~~A會員某欄位資料怎麼儲存到B會員某欄位資料中
本篇文章回覆於2017-05-02 13:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
一般是要這樣子做才對

推薦碼資料表

id 推薦碼 推薦人uid 接受人id

這樣就可以解決你的問題。
本篇文章回覆於2017-05-02 20:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
會員的資料表
id,會員推薦碼,推薦會員id,.....
當新會員註冊時
如果推薦碼欄位有值,就去搜尋這個推薦碼的會員id,並將這個id值存入新會員的「推薦會員id」欄位
如果推薦碼欄位沒有值,新會員的「推薦會員id」欄位就設定為0,代表這個新會員沒有推薦人

查詢會員資料時
推薦會員id為0時,推薦人欄位就顯示沒有
推薦會員id>0時,推薦人資料就用這個id去找會員資料出來帶入
本篇文章回覆於2017-05-03 10:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.