将参数添加到iframe源

时间:2017-10-06 22:16:03

标签: php android html iframe android-webview

我需要在我的Android应用WebView中显示iframe,iframe存在于位于Web服务器上的HTML文件中。 我需要在iframe源中添加一个参数,然后才能在WebView中显示它,具体取决于用户输入。

我的PHP代码:

    <?php

    if (isset($_POST['amount'])){
        $amount = $_POST['amount'];
        $intamount = (int)$amount;
        echo $intamount;
    }

    if (isset($_POST['currency'])){

        $currency = $_POST['currency'];
        $intcurrency = (int)$currency;
    }

    if (isset($_POST['lan'])){

        $lan = $_POST["lan"];
    }

    if (isset($_POST['email'])){

        $email_address = $_POST["email"];
    }

    if (isset($_POST['name'])){

        $name = $_POST['name'];
    }




    $iframe_source = 'https://sampleurl.php?sum='.$intamount.'&currency='.$intcurrency.'&cred_type=1&trButtonColor=008080&email='.$email_address.'&contact='.$name;

    echo $iframe_source;

?>

<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8"/>



    </head>

    <body>


        <iframe width="370" height="455" src="<?php
            echo $iframe_source;
        ?>" frameborder="5" allowfullscreen></iframe>

    </body>

</html>

我可以向php文件发帖请求,例如这样做吗?如果是的话,有没有办法在php文件中添加html代码并将其显示在我的WebView中? 有一个更好的方法吗? 非常感谢。

1 个答案:

答案 0 :(得分:1)

接收用户输入后,为什么不在您的Web服务器上加载PHP。

您可以执行POST或GET请求。

因此加载http://example.com/webview.html的状态为http://example.com/webview.php?user_paramter=value

现在,webview.phpwebview.html看起来基本相同,但有一些小变化:

<?php
    $user_paramter = $_GET['user_paramter'];
    $link = 'https:iframedemo.php?sum=13&currency=1&user_paramter=' . $user_paramter;
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"/>
    </head>
    <body>
        <iframe width="370" height="455" src="<?php
            echo $link;
        ?>" frameborder="0" allowfullscreen></iframe>
    </body>
</html>

您的应用将收到一个HTML文件,其中包含正确的iframe源/链接

如果这样在用户输入之前重新获取PHP脚本,那么$_POST$_GET为空,并且没有任何效果。因此,如果您在PHP脚本的开头var_dump($_POST)并且有类似array(0) {}的问题,那么问题就不是PHP脚本或iframe本身。您必须找到在用户输入后调用页面的方式。