-1

该项目在我的开发机器上运行良好。但是在网络服务器上,其中一个页面的 oncreate 启动了大约 50 次,然后一个按钮被自动按下。那是我的第一印象。但是我现在意识到某些东西只是在缓存表单的最后一个状态(而不是浏览器,因为它不会在本地发生并且我已经清除了它的缓存)。

我怎样才能防止这种情况?

<?php
require_once("vcl/vcl.inc.php");
use_unit("forms.inc.php");
use_unit("stdctrls.inc.php");
use_unit("comctrls.inc.php");

//Class definition
class frm_Sign_Up extends Page
{
   public $lbl = null;
   public $cbx = null;
   public $lblHdr = null;
   public $btnSignUp = null;
   public $btnCancel = null;


   function frm_Sign_UpCreate($sender, $params)
   {
     // Populate Combobox
     $this->Populate();
   }

   function Populate()
   {
     // Count number of times Create is run
     $this->cbx->AddItem($this->cbx->Count);
   }

   function btnSignUpClick($sender, $params)
   {
      // Display it
      $Error = 'x';
      if ($Error <> '')
      {
        $this->lbl->Caption = 'Pressed '.$this->cbx->Count;
        $this->lbl->Visible = true;
        return (false);
      }
      else
      {
        redirect ('app_main.php');
        exit;
      }
   }
}

global $application;

global $frm_Sign_Up;

//Creates the form
$frm_Sign_Up=new frm_Sign_Up($application);

//Read from resource file
$frm_Sign_Up->loadResource(__FILE__);

//Shows the form
$frm_Sign_Up->show();
?>
4

1 回答 1

2

很少有人知道 Delphi for PHP 框架,而那些知道它的人似乎也不会在这里闲逛。您发布的代码中没有任何内容会呈现您所描述的症状

但你不是不走运,我的朋友!在服务器上 安装xdebug 。它将允许您使用任何行业标准的调试工具来单步调试整个代码库,因为它处理事情。您将能够在执行过程中停止代码、检查变量、跳过块并执行其他关键调试步骤。

使用它,您将能够找到导致函数被调用次数过多的代码或条件。

于 2011-03-11T20:45:33.457 回答