我在PHP中有一个代码,指示移动用户在设备上发送短信。
此代码适用于所有iphone和blackberry设备以及大多数Android但是... 它不适用于我的Sony Experia。
我用手机' linux'识别了手机。并且它确实有效,但是发送短信的代码似乎没有预先填充正文,它会产生以下错误:
如果使用$shareiphone
,则会打开邮件,但不会使用我的邮件填充正文,而只填充;
否则,如果使用$shareandroid
,则会打开邮件,但不会使用我的邮件填充正文,而只填充&
否则,如果使用$sharelinux
,则会打开邮件,但不会使用我的邮件填充正文,而只填充//&
当然必须有一个简单的解决方法。
$shareiphone = '</div> <a class="btnTop" href="sms:%20&body=%20https://www.myecard.biz/hans_fouche" name="clicked">Forward to phone</a>';
$shareandroid = '</div> <a class="btnTop" href="sms:%20&?body=%20https://www.myecard.biz/hans_fouche" name="clicke">Forward to phone</a>';
$sharelinux = '</div> <a class="btnTop" href="sms://%20&?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 :(得分:0)
我搜索和研究,但找不到这个。 我玩代码并认为%20&amp; amp可能是问题所在。 我删除了它,它现在完美地说出来了。
以下是我的代码:
$sharelinux = '</div> <a class="btnTop" href="sms:?body=%20https://www.myecard.biz/BIRC/roelof_prinsloo" name="clicke">Forward to phone</a>';