0

我是 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>
    ';
}
4

1 回答 1

0

重新加载时,您的页面正在再次调用该服务。将代码片段添加到问题中以找出问题所在和问题所在。

于 2013-08-07T10:03:30.027 回答