我是 joomla 的新手。我使用了一个在这里显示的链接作为我的网络服务:http ://www.w3schools.com/webservices/tempconvert.asmx/FahrenheitToCelsius 。然后实现了一个代码来向 Web 服务发布一些值并得到响应,但是当我尝试将响应值设置为表单时,它会重新加载我托管的 joomla 站点的整个页面并显示空表单,因为刷新了网页。然后将值设置为空。它没有在表单中显示答案,因为我使用条件检查表单属性是否为空,它应该显示空表单,但我可以使用“echo $response;”显示响应值 在重新加载表格之前。我尝试使用会话,但这不是解决方案。谁能帮我想办法解决这个问题。
<?php
if (isset($_POST['Fahrenheit'])&&$_POST['Fahrenheit']!=null) {
$res = print_name($_POST['Fahrenheit']);
print_form($res);
}
else {
if($res == "")
print_form($res);
}
// In this function we print the name the user provided.
function print_name($name) {
$ch = curl_init();
$far = 'Fahrenheit='.$name;
curl_setopt($ch, CURLOPT_URL,"http://www.w3schools.com/webservices/tempconvert.asmx/FahrenheitToCelsius");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$far);
// receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec ($ch);
curl_close ($ch);
return $server_output;
}
// This function is called when no name was sent to us over HTTP.
function print_form($val) {
echo '
<form method="post">
<table>
<tr>
<td>Fahrenheit to Celsius:</td>
<td><input class="frmInput" type="text" size="30" name="Fahrenheit"></td>
</tr>
<tr>
<td></td>
<td align="right"><input name="cel" type="submit" value="Submit" class="button"></td>
</tr>
<tr>
<td></td>
<td align="right">'.$val.'</td>
</tr>
</table>
</form>
';
}