你在这个页面里应该用PHP定义update_online()这个函数,这样应该就可以了

解决方案 »

  1.   

    是用php定义update_online函数,但是ie解析此脚本时提示缺少 ; 号,如果不调用此函数则没问题,函数本身也没问题,奇怪吗?
      

  2.   

    那是JS的问题,
    你不妨这样写吧一定好用
    <?echo"<script language='javascript'> ";
    echo"      function update_my_status()
          { "; 
       update_online( $userid); 
     echo" timerID=setTimeout('start()',3000);
            timerRunning=true; 
            } 
          function start() 
          {stop(); 
          update_my_status(); 
          } 
    setTimeout('start()',3000); 
    </script> ";
      

  3.   

    <?
    include ("util.php");
    ?>
    <html>
    <head>
    <title>test</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head>
    <body>
    <P>look! whats happen?</p>
    <p><form name='tes'><input  name='sel' type="text" value='do u know'></form>
    <?
     $ip=getenv("REMOTE_ADDR");
     $userid="joe";
    function update_online($userid)
    {
       $str_query="update tuser set lasttime=now() where userid='$userid'";
       RunSQL($str_query);
       echo "ok,update success!";
    }
    echo "<script language='javascript'>
         var timerID= null;
         var timerRunning=false ;
         function stop()
          { if(timerRunning)
              { clearTimeout(timerID);
                timerRunning=false ;
               }
          }
         function update_my_status()
          { document.tes.sel.value='$ip';";
            update_online($userid);
          echo "timerID=setTimeout('start()',3000);
                timerRunning=true;
             }
          function start()
          {stop();
           update_my_status();
          }
      setTimeout('start()',3000);
      </script>";
    ?>
    </body>
    </html>
      

  4.   

    你试试把
    function update_online($userid)
    {
      $str_query="update tuser set lasttime=now() where userid='$userid'";
      RunSQL($str_query);
      echo "ok,update success!";
    }
    的ECHO语句改了
    改成echo"document.write(\"'ok,update seccess!'\")";