1

私はこのようなPHPコードを持っています:

<div>
<?php if($link AND $access AND !$timer_expired): ?>
<font color="green">Status: Unlocked - You have successfully unlocked "<?php echo htmlspecialchars($link['link_title']);?>", the website is listed below.</font>
<?php else:?>
<font color="red"> Status : Locked - To Unlock "<?php echo htmlspecialchars($link['link_title']);?>" Please Complete the Survey.</font>
<?php endif;?> 
</div>

ステータスが「Unlocked」になるまでリロードしてからロードを停止する必要があります

PHPファイルのリロードについて話している投稿がたくさんあります..しかし、私はそれを必要としません..私はただPHPコードをリロードしたいだけです

任意のアイデアをお願いします?

4

3 に答える 3

1

まず、PHPページであれば、PHP側でステータスを管理した方がよいでしょう。クライアント側から独立してください。「ロック済み」ステータス ページの場合、HTML メタ ヘッダーを設定します。

<meta http-equiv="refresh" content="5">

「ロック解除済み」ステータスの場合は何もしません。

それで全部です!

于 2013-03-29T05:25:58.270 に答える
0

この関数を使用して、このように ajax を呼び出します。

<script type="text/javascript">

 jQuery(document).ready(function() {

  setInterval(function(){

   jQuery("#divid").load('http://example.php',
    function(response, status, xhr) {

        if (status == "error") {
        jQuery("#divid").html(msg + xhr.status + " " + xhr.statusText);
        }
    });
  }, 500);

 });
</script>

また、条件を適用して、応答が「ロック済み」または「ロック解除済み」であることを確認します。

それがあなたに役立つことを願っています。

于 2013-03-29T05:51:08.653 に答える
0

何を求めているのか完全に明確ではありませんが、PHP コードはサーバー上で実行されることに留意する必要があります。AJAX はクライアントのブラウザーで実行されます。したがって、目的を達成する方法は、AJAX を使用して、クライアントのブラウザーで HTML を継続的にリロードすることです。これは、サーバー上の PHP スクリプトから要求します。

HTML:

<div id="myDiv">AJAX response will load here</div>

Javascript:

function loadPage(your_page)
{
    var xmlhttp;
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
         // This javascript executes when you receive the HTML from your AJAX request
        return xmlhttp.responseText;
        }
      }
    xmlhttp.open("GET",your_page,true);
    xmlhttp.send();

}

var repeat = window.setInterval(checkResponse,3000);

function checkResponse()
{
   var response = loadPage('your_php_script.php');
   if(response.indexOf('Unlocked') !== -1)
       window.clearInterval(repeat);
}
于 2013-03-29T05:24:24.780 に答える