douren0558 2017-02-10 16:11
浏览 49
已采纳

动态地将值传递给php中的sms api?

This is my sms url

"https://example.com/api/sendhttp.php?authkey=#############&mobiles=".$mobile."&message=".urlencode($rem)."&sender=abcdef&route=#"

Here is my Code

<?php
    session_start(); 

    $mobile=98994564564;
    $rem="Hi";

    $url=$_SESSION['smsurl'];
    echo $url;
?>

What I am trying to do here is I am calling this url through session variable. But when I am displaying the url, it is not getting value of $mobile and $rem.

It should display

"https://example.com/api/sendhttp.php?authkey=#############&mobiles=8994564564"&message=".urlencode("Hi")."&sender=abcdef&route=#"
  • 写回答

1条回答 默认 最新

  • drkwpgrdb092239314 2017-02-10 16:37
    关注

    The problem is, $_SESSION['smsurl'] does not contain the actual variables like $mobile or $rem, instead it contains the value of those variables. So you can't simply do $mobile=ABC; $rem="XYZ"; $url=$_SESSION['smsurl']; to change the query part of the URL.

    The solution is,

    • Parse the URL
    • Change the query part of the URL
    • Reconstruct the URL again

    So your code should be like this,

    <?php
        session_start(); 
    
        $mobile=98994564564;
        $rem="Hi";
    
        $urlArray = parse_url($_SESSION['smsurl']);
        parse_str($urlArray['query'], $qStringArray);
        $qStringArray['mobiles'] = $mobile;
        $qStringArray['message'] = urlencode($rem);
        $qString = http_build_query($qStringArray);
    
        $apiUrl = $urlArray['scheme'] . '://' . $urlArray['host'] . $urlArray['path'] . '?' . $qString;
    
        // Display the final URL
        echo $apiUrl;
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!