我一直在爲此奮鬥超過24小時,包括現在。我已經設置我的服務器來設置用戶帳戶,並通過電子郵件向他們發送驗證鏈接。一切運作良好,但我有兩個字符串變量哈希和令牌與從mySql數據庫派生的值的問題。電子郵件生成這些變量分析他們的數據與前三個字符每次錯位了:PHP mangles驗證開始鏈接參數
http://verify.myserver.com/objects/1.8.12.7.10.1.9/verify-email.php?mm_function=submit&hashü41faa912dd9451a8d397fc9386ca1c69&mm_tokenü2rnjrcbhn3qegtu46np03p5pg6aczbtrs51782fkuwq2c8w9m80enutwruydwewca&mm_timezone=2&mm_charset=utf-8
鏈接應該是:
http://verify.myserver.com/objects/1.8.12.7.10.1.9/verify-email.php?mm_function=submit&hash=fc41faa912dd9451a8d397fc9386ca1c69&mm_token=fc22rnjrcbhn3qegtu46np03p5pg6aczbtrs51782fkuwq2c8w9m80enutwruydwewca&mm_timezone=2&mm_charset=utf-8
我試圖混合和代碼匹配無濟於事。目前,我的代碼如下:
$weblink = "http://verify.myserver.com/objects/1.8.12.7.10.1.9/verify-email.php?";
$weblink . "mm_function=submit&hash=" . $hash . "&mm_token=" . $token . "&mm_timezone=" . $timezone . "&mm_charset=utf-8";
有什麼奇怪的是,如果我只是放在$哈希值和$標記的電子郵件作爲一部分,獨立的環節,他們都出來罰款。
我正在使用運行InnoDB引擎的mySql,DB歸類爲latin7_general_ci。
謝謝。
我的猜測是,您的問題來自不同編碼數據庫(拉丁)和電子郵件(UTF -8)。 – oktopus 2013-02-22 14:08:40
我以前一直使用latin7_general_ci,完全沒有任何問題。這是我第一次做一個發送驗證鏈接的應用程序。但爲什麼變量發出正確的字符串,如果不與$ weblink字符串關聯?我會嘗試其他排序規則或其他數據庫引擎。 – DataPriest 2013-02-22 18:46:03