我正在創建一個網址,網址的結尾有用戶名,用戶名可以有點。它也可以在最後包含點。允許點在網址的末尾
當我創建url並將其鏈接到用戶鏈接時,該點確實出現在鏈接的末尾,但不作爲鏈接的一部分,因此當用戶單擊該鏈接時該點將被忽略並傳遞錯誤的網址。
我在最後添加的用戶名是數據庫中的變量名,所以我不知道如何解決這個問題。
我正在創建一個網址,網址的結尾有用戶名,用戶名可以有點。它也可以在最後包含點。允許點在網址的末尾
當我創建url並將其鏈接到用戶鏈接時,該點確實出現在鏈接的末尾,但不作爲鏈接的一部分,因此當用戶單擊該鏈接時該點將被忽略並傳遞錯誤的網址。
我在最後添加的用戶名是數據庫中的變量名,所以我不知道如何解決這個問題。
最好的辦法是發送HTML格式的電子郵件。這樣,您可以直接決定鏈接的內容,並防止用戶電子郵件客戶端發揮自己的魔力。
另一種可能性是URL編碼點。請參閱此問題/答案:Encode the url including hyphen(-) and dot(.) in php
謝謝你的解決方案。有效 – saurabh
換句話說,您以純文本格式發送鏈接,並且想要更改算法以從您的收件人使用的所有不同的100個電子郵件客戶端使用的文本中提取URL。你顯然不能。
你可以欺騙大多數分析工具,如果你的URL編碼的點:
http://example.com/foo%2E
...或者你可以簡單地生成適當<a href=""></a>
標記HTML電子郵件。
如果不是發送用戶名發送用戶標識(可能是一個數字),您的問題就會消失。
這應該很容易由電子郵件客戶端處理。
我做的另一件事,雖然它需要更多的程序設計,但是發送簡單的簡單URL並沒有被破壞的風險。
例如,我會送什麼樣
http://example.com/profile_123711611121
然後在服務器端,使用URL重寫我攔截,並把它傳遞給知道什麼網址手段和不正確的重定向一個PHP代碼一個更復雜的網址,如:
http://example.com/users/profile/update_profile.php?id=123711611121
第一個URL將被很好地解析,它也可以很方便地複製非技術人員粘貼。
第二個URL可能分爲兩行,未正確解析等。
總之,您正在控制您通過電子郵件發送的URL。讓你和你的用戶變得簡單! :)
你能否提供你的PHP代碼分配網址? – krishna
我正在使用opencart框架,在模型文件中使用此代碼發送郵件 $ message。='您的前端網站是'.HTTP_SERVER.'user /'.$ data ['company']。「\ n \ n」 個; \t \t 設置發件人的電子郵件ID之後,接收電子郵件ID $ MAIL->發送(); 我使用上述功能來發送郵件 – saurabh