|
|
|
#1 (permalink) |
|
Messages: n/a
Hébergeur: |
Hi everyone,
I'm having a hard time dealing with an error that appeared overnight in one of my PHP script: Fatal error: Undefined class constant 'self::TYPE_HIDDEN' in /#########/classes/framework/HTML/HTMLForm.php on line 120 HTMLForm.php snippet: .......... // Creates the HTMLFormFields foreach ($this->Record->Columns as $_column) { // Add only visible columns if ($_column->IsVisible) { // Default field type $_type=HTMLFormField::ELEMENT_TYPE_TEXT ; // Adjust default type based on Column type switch ($_column->Type) { case Column::TYPE_AUTONUMBER: $_type=HTMLFormField::ELEMENT_TYPE_HIDDEN ; break; case Column::TYPE_BOOLEAN : $_type=HTMLFormField::ELEMENT_TYPE_CHECKBOX ; break; default: break; 117: } 118: 119: // Add the column to the list of fields 120: $this->Fields[$_column->Name]=new 121: HTMLFormField($this->Name,$_column,$_type); 122: 123: } } As you can see there is no refference to any TYPE_HIDDEN constant at line 120, nor in the HTMLFormField's constructor. I searched the net, but I just can't find the reason of this. Can someone please me ? Thanks, Puiu |
|
|
|
#2 (permalink) |
|
Messages: n/a
Hébergeur: |
On Wed, 19 Sep 2007 15:56:22 +0300, Puiu Hrenciuc <hpuiu@xentra.ro> wrote:
> Hi everyone, > > I'm having a hard time dealing with an error that appeared overnight > in one of my PHP script: > > Fatal error: Undefined class constant 'self::TYPE_HIDDEN' in > /#########/classes/framework/HTML/HTMLForm.php on line 120 > > HTMLForm.php snippet: > > ......... > // Creates the HTMLFormFields > foreach ($this->Record->Columns as $_column) > { > // Add only visible columns > if ($_column->IsVisible) > { > // Default field type > $_type=HTMLFormField::ELEMENT_TYPE_TEXT ; > > // Adjust default type based on Column type > switch ($_column->Type) > { > case Column::TYPE_AUTONUMBER: > $_type=HTMLFormField::ELEMENT_TYPE_HIDDEN ; > break; > > case Column::TYPE_BOOLEAN : > $_type=HTMLFormField::ELEMENT_TYPE_CHECKBOX ; > break; > default: > break; > 117: } > 118: > 119: // Add the column to the list of fields > 120: $this->Fields[$_column->Name]=new > 121: HTMLFormField($this->Name,$_column,$_type); > 122: > 123: } > > } > > As you can see there is no refference to any TYPE_HIDDEN constant > at line 120, nor in the HTMLFormField's constructor. > > I searched the net, but I just can't find the reason of this. > Can someone please me ? > > Thanks, > Puiu When the error happens. What are the contents of 120: $_column->Name ? |
|
|
|
#3 (permalink) |
|
Messages: n/a
Hébergeur: |
Here are the content for all used variables:
$_this->Name: (string) "FilterForm" $_column: StringColumn Object ( [Table] => Roles [Name] => RoleName [Function] => like [Type] => 4 [Min] => [Max] => [RegEx] => [AllowedValues] => Array ( ) [IsValid] => [IsVisible] => 1 [Sorted] => 0 [Primary] => [Foreign] => [Negated] => [GroupBy] => [Aggregate] => [_value:protected] => ) $_type: (int) 1 T . Lensselink wrote: > On Wed, 19 Sep 2007 15:56:22 +0300, Puiu Hrenciuc <hpuiu@xentra.ro> wrote: >> Hi everyone, >> >> I'm having a hard time dealing with an error that appeared overnight >> in one of my PHP script: >> >> Fatal error: Undefined class constant 'self::TYPE_HIDDEN' in >> /#########/classes/framework/HTML/HTMLForm.php on line 120 >> >> HTMLForm.php snippet: >> >> ......... >> // Creates the HTMLFormFields >> foreach ($this->Record->Columns as $_column) >> { >> // Add only visible columns >> if ($_column->IsVisible) >> { >> // Default field type >> $_type=HTMLFormField::ELEMENT_TYPE_TEXT ; >> >> // Adjust default type based on Column type >> switch ($_column->Type) >> { >> case Column::TYPE_AUTONUMBER: >> $_type=HTMLFormField::ELEMENT_TYPE_HIDDEN ; >> break; >> >> case Column::TYPE_BOOLEAN : >> $_type=HTMLFormField::ELEMENT_TYPE_CHECKBOX ; >> break; >> default: >> break; >> 117: } >> 118: >> 119: // Add the column to the list of fields >> 120: $this->Fields[$_column->Name]=new >> 121: HTMLFormField($this->Name,$_column,$_type); >> 122: >> 123: } >> >> } >> >> As you can see there is no refference to any TYPE_HIDDEN constant >> at line 120, nor in the HTMLFormField's constructor. >> >> I searched the net, but I just can't find the reason of this. >> Can someone please me ? >> >> Thanks, >> Puiu > > When the error happens. What are the contents of 120: $_column->Name ? |
|
|
|
#4 (permalink) |
|
Messages: n/a
Hébergeur: |
Here is the HTMLFormField constructor, it is pretty simple :
/** * Creates a new HTMLFormField object * * @param string $_formName Name of the form this field belongs to * @param Column $_column Record object this column derives from * @param int $_type Type of field, this determines the type of HTML element that will be rendered * @param string $_class Class name for the HTML element * @param array $_values Array of display values for combos, lists, radios * @param string $_label Label to be displayed next to a radio, check box * @param string $_nullMessage Message that will be displayed when a required field was not filled * @param string $_invalidMessage Message that will be displayed when the data entered is invalid * @param string $_tooShortMessage Message displayed when the field value is bellow minimum value or length * @param string $_tooLongMessage Message displayed when the field value is above maximum value or length */ public function __construct($_formName,$_column=null,$_type=0,$_cl ass='' ,$_fieldValues=null,$_label="",$_nullMessage='',$_ invalidMessage='',$_tooShortMessage='',$_tooLongMe ssage='') { // Copy column's properties and save passed parameters into local properties if ($_column instanceof Column ) { $this->Name=$_column->Name; $this->RegEx=$_column->RegEx; $this->Min=$_column->Min; $this->Max=$_column->Max; $this->Type=$_column->Type; $this->Value=$_column->Value; } $this->FormName=$_formName; $this->NullMessage=$_nullMessage; $this->InvalidDataMessage=$_invalidMessage; $this->TooLongMessage=$_tooShortMessage; $this->TooLongMessage=$_tooLongMessage; $this->Class=$_class; $this->FieldValues=$_fieldValues; $this->FieldType=$_type; } Trust me, it doesn't have any logical explanation ![]() Puiu T.Lensselink wrote: > On Wed, 19 Sep 2007 17:13:02 +0300, Puiu Hrenciuc <hpuiu@xentra.ro> wrote: > >> Here are the content for all used variables: >> >> $_this->Name: (string) "FilterForm" >> $_column: >> StringColumn Object >> ( >> [Table] => Roles >> [Name] => RoleName >> [Function] => like >> [Type] => 4 >> [Min] => >> [Max] => >> [RegEx] => >> [AllowedValues] => Array >> ( >> ) >> >> [IsValid] => >> [IsVisible] => 1 >> [Sorted] => 0 >> [Primary] => >> [Foreign] => >> [Negated] => >> [GroupBy] => >> [Aggregate] => >> [_value:protected] => >> ) >> >> $_type: (int) 1 >> >> T . Lensselink wrote: >> >>> On Wed, 19 Sep 2007 15:56:22 +0300, Puiu Hrenciuc <hpuiu@xentra.ro> >>> >> wrote: >> >>>> Hi everyone, >>>> >>>> I'm having a hard time dealing with an error that appeared overnight >>>> in one of my PHP script: >>>> >>>> Fatal error: Undefined class constant 'self::TYPE_HIDDEN' in >>>> /#########/classes/framework/HTML/HTMLForm.php on line 120 >>>> >>>> HTMLForm.php snippet: >>>> >>>> ......... >>>> // Creates the HTMLFormFields >>>> foreach ($this->Record->Columns as $_column) >>>> { >>>> // Add only visible columns >>>> if ($_column->IsVisible) >>>> { >>>> // Default field type >>>> $_type=HTMLFormField::ELEMENT_TYPE_TEXT ; >>>> >>>> // Adjust default type based on Column type >>>> switch ($_column->Type) >>>> { >>>> case Column::TYPE_AUTONUMBER: >>>> $_type=HTMLFormField::ELEMENT_TYPE_HIDDEN ; >>>> break; >>>> >>>> case Column::TYPE_BOOLEAN : >>>> $_type=HTMLFormField::ELEMENT_TYPE_CHECKBOX >>>> >> ; >> >>>> break; >>>> default: >>>> break; >>>> 117: } >>>> 118: >>>> 119: // Add the column to the list of fields >>>> 120: $this->Fields[$_column->Name]=new >>>> 121: HTMLFormField($this->Name,$_column,$_type); >>>> 122: >>>> 123: } >>>> >>>> } >>>> >>>> As you can see there is no refference to any TYPE_HIDDEN constant >>>> at line 120, nor in the HTMLFormField's constructor. >>>> >>>> I searched the net, but I just can't find the reason of this. >>>> Can someone please me ? >>>> >>>> Thanks, >>>> Puiu >>>> >>> When the error happens. What are the contents of 120: $_column->Name ? >>> > > What happens inside the constructor when you create a new instance of > HTMLFormField? > Maybe the $_type is validated there. Or i'm missing something in this > snippet. > > > |
|
|
|
#5 (permalink) |
|
Messages: n/a
Hébergeur: |
On Wed, 19 Sep 2007 17:13:02 +0300, Puiu Hrenciuc <hpuiu@xentra.ro> wrote:
> Here are the content for all used variables: > > $_this->Name: (string) "FilterForm" > $_column: > StringColumn Object > ( > [Table] => Roles > [Name] => RoleName > [Function] => like > [Type] => 4 > [Min] => > [Max] => > [RegEx] => > [AllowedValues] => Array > ( > ) > > [IsValid] => > [IsVisible] => 1 > [Sorted] => 0 > [Primary] => > [Foreign] => > [Negated] => > [GroupBy] => > [Aggregate] => > [_value:protected] => > ) > > $_type: (int) 1 > > T . Lensselink wrote: >> On Wed, 19 Sep 2007 15:56:22 +0300, Puiu Hrenciuc <hpuiu@xentra.ro> > wrote: >>> Hi everyone, >>> >>> I'm having a hard time dealing with an error that appeared overnight >>> in one of my PHP script: >>> >>> Fatal error: Undefined class constant 'self::TYPE_HIDDEN' in >>> /#########/classes/framework/HTML/HTMLForm.php on line 120 >>> >>> HTMLForm.php snippet: >>> >>> ......... >>> // Creates the HTMLFormFields >>> foreach ($this->Record->Columns as $_column) >>> { >>> // Add only visible columns >>> if ($_column->IsVisible) >>> { >>> // Default field type >>> $_type=HTMLFormField::ELEMENT_TYPE_TEXT ; >>> >>> // Adjust default type based on Column type >>> switch ($_column->Type) >>> { >>> case Column::TYPE_AUTONUMBER: >>> $_type=HTMLFormField::ELEMENT_TYPE_HIDDEN ; >>> break; >>> >>> case Column::TYPE_BOOLEAN : >>> $_type=HTMLFormField::ELEMENT_TYPE_CHECKBOX > ; >>> break; >>> default: >>> break; >>> 117: } >>> 118: >>> 119: // Add the column to the list of fields >>> 120: $this->Fields[$_column->Name]=new >>> 121: HTMLFormField($this->Name,$_column,$_type); >>> 122: >>> 123: } >>> >>> } >>> >>> As you can see there is no refference to any TYPE_HIDDEN constant >>> at line 120, nor in the HTMLFormField's constructor. >>> >>> I searched the net, but I just can't find the reason of this. >>> Can someone please me ? >>> >>> Thanks, >>> Puiu >> >> When the error happens. What are the contents of 120: $_column->Name ? What happens inside the constructor when you create a new instance of HTMLFormField? Maybe the $_type is validated there. Or i'm missing something in this snippet. |
|
![]() |
| Outils de la discussion | |
|
|