我需要在我的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.'¤cy='.$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中? 有一个更好的方法吗? 非常感谢。
答案 0 :(得分:1)
接收用户输入后,为什么不在您的Web服务器上加载PHP。
您可以执行POST或GET请求。
因此加载http://example.com/webview.html
的状态为http://example.com/webview.php?user_paramter=value
现在,webview.php
与webview.html
看起来基本相同,但有一些小变化:
<?php
$user_paramter = $_GET['user_paramter'];
$link = 'https:iframedemo.php?sum=13¤cy=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本身。您必须找到在用户输入后调用页面的方式。