2017-05-24 58 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>';