2017-05-24 57 views
0

我有一個PHP代碼,指示移動用戶在設備上發送短信。通過PHP/HTML鏈接短信

此代碼適用於所有iphone和黑莓手機,並且大多數android手機都可以... 它不適用於我的索尼Experia。

我所標識的手機用戶代理'Linux的,它的工作,但發送短信的代碼似乎並沒有預先填充它提供了以下錯誤的身體:如果使用$shareiphone

它打開郵件但不是我的消息填充身體只用;

其他填充,如果使用$shareandroid它打開的消息,但不是用我的消息填充體,如果用0與&

別的只填充它打開的消息,但不是用我的消息填充身體只用填充//&

當然必須有一個簡單的解決。

$shareiphone = '</div> <a class="btnTop" href="sms:%20&amp;body=%20https://www.myecard.biz/hans_fouche" name="clicked">Forward to phone</a>'; 
    $shareandroid = '</div> <a class="btnTop" href="sms:%20&amp?body=%20https://www.myecard.biz/hans_fouche" name="clicke">Forward to phone</a>'; 
    $sharelinux = '</div> <a class="btnTop" href="sms://%20&amp?body=%20https://www.myecard.biz/hans_fouche" name="clicke">Forward to phone</a>'; 



    if(stristr($_SERVER['HTTP_USER_AGENT'],'linux') ) { 
     $device = "linux"; 
     echo $sharelinux; 
     if (isset($_POST['clicked'])) { 
      counter_add(); 
     } 

    } 

    else if(stristr($_SERVER['HTTP_USER_AGENT'],'ipad') || stristr($_SERVER['HTTP_USER_AGENT'],'iphone') || strstr($_SERVER['HTTP_USER_AGENT'],'iphone')) { 
     $device = "ipad"; 
     echo $shareiphone; 
     if (isset($_POST['clicked'])) { 
      counter_add(); 
     } 

    } 

    else if(stristr($_SERVER['HTTP_USER_AGENT'],'blackberry')) { 
     $device = "blackberry"; 
     echo $shareiphone; 

    } 
    else if(stristr($_SERVER['HTTP_USER_AGENT'],'android')) { 
     $device = "android"; 
     echo $shareandroid; 

    } 
    else { 
     $device = "PC"; 
     echo $sharelinux; 

    } 
+0

如果你不需要做這個要在服務器端完成,看看https://github.com/smeeckaert/sms-link – Luca

+0

謝謝,我已經檢查過,和我剛剛採用的方法不同。我需要索尼Experia的不同代碼 –

回答

0

我搜索和研究,找不到這個。 我玩的代碼,並認爲%20可能是問題。 我刪除它,現在它完美的話。

下面是我的代碼:

$sharelinux = '</div> <a class="btnTop" href="sms:?body=%20https://www.myecard.biz/BIRC/roelof_prinsloo" name="clicke">Forward to phone</a>';