php script грешка - идей ?

nekafludpich123

Registered
<?

class Form
{
var $values = array(); //Holds submitted form field values
var $errors = array(); //Holds submitted form error messages
var $num_errors; //The number of errors in submitted form

/* Class constructor */

function Form(){

/**
* Get form value and error arrays, used when there
* is an error with a user-submitted form.
*/

if(isset($_SESSION['value_array']) && isset($_SESSION['error_array'])){
$this->values = $_SESSION['value_array'];
$this->errors = $_SESSION['error_array'];
$this->num_errors = count($this->errors);

unset($_SESSION['value_array']);
unset($_SESSION['error_array']);
}

else{

$this->num_errors = 0;

}
}


/**
* setValue - Records the value typed into the given
* form field by the user.
*/

function setValue($field, $value){
$this->values[$field] = $value;
}

/**
* setError - Records new form error given the form
* field name and the error message attached to it.
*/

function setError($field, $errmsg){
$this->errors[$field] = $errmsg;
$this->num_errors = count($this->errors);
}

/**
* value - Returns the value attached to the given
* field, if none exists, the empty string is returned.
*/

function value($field){
if(array_key_exists($field,$this->values)){
return htmlspecialchars(stripslashes($this->values[$field]));
}else{
return "";
}
}


/**
* error - Returns the error message attached to the
* given field, if none exists, the empty string is returned.
*/

function error($field){
if(array_key_exists($field,$this->errors)){
return "<font size=\"2\" color=\"#ff0000\">".$this->errors[$field]."</font>";
}else{
return "";
}
}

/* getErrorArray - Returns the array of error messages */

function getErrorArray(){
return $this->errors;
}
};


?>

а грешката е следната : http://sharingbb.com/
 
На пръв поглед няма грешки в класа и неговите методи, но къде инициализираш сесиите (session_start() имам предвид).

погледни тук, провери дали не си объркал при взимане на стойност от масива ключа който взимаш като подаваш стойност на параметъра на меода.
Код:
function value($field){ 
if(array_key_exists($field,$this->values)){ 
return htmlspecialchars(stripslashes($this->values[$field])); 
}else{ 
return ""; 
} 
}

Ползвай
Код:
try{

  

} catch(Exception $e) {

  echo $e->getMessage();
}

за хващане на подобни административни грешки

да речем....

Код:
function value($field){ 
if(array_key_exists($field,$this->values)){ 
return htmlspecialchars(stripslashes($this->values[$field])); 
}else{ 
  throw new Exception("greshka"); 
} 
}

=======
$ob  = new Form();
try {

$ob-> value('form_field');

} catch(Exception $e) {

  echo $e->getMessage();
}
======

Ползвай
 

Back
Горе