2014-10-05 24 views
0

这是我得到的错误。为什么php class class在尝试访问类时给我错误

Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in /home/students/000313753/public_html/10065/php/lab2/lab2.php on line 121

我的课

 class validate 
     { 
      public $errorArray; 



       function userName($name) 
       { 
        if ($_SERVER['REQUEST_METHOD'] == 'POST') 
        { 
         if(isset($name)) 
         { 
          if(strlen($name) <= 5) 
          { 
           $this->$errorArray['name'] = 'The username must be 5 characters.'; 
          } 
         } 
         else 
         { 
          $this->$errorArray['name'] = 'Username cannot be empty'; 
         } 

        } 
       } 
       function validateEmail($email) 
       { 
        if ($_SERVER['REQUEST_METHOD'] == 'POST') 
        { 
         if (!filter_var($email, FILTER_VALIDATE_EMAIL)) 
         { 
          $this->$errorArray['email'] = 'Wrong email format.'; 
         } 
        } 
       } 

       function validateYear($year) 
       { 
        if ($_SERVER['REQUEST_METHOD'] == 'POST') 
        { 
         if (isset($year)) 
         { 
          if ($year < 1000 || $year > 2100) 
          { 
           $this->$errorArray['year'] = 'Year must be a 4 digit number.'; 
          } 
         } 
         else 
         { 
          $this->$errorArray['year'] = 'Year cannot be empty'; 
         } 
        } 

       function validateProvinces($provinces) 
       { 
        if ($_SERVER['REQUEST_METHOD'] == 'POST') 
        { 
         if (isset($provinces)) 
         { 
          if (empty($provinces)) 
          { 
           $this->$errorArray['provinces'] = 'Please select one or more provinces'; 
          } 
         } 
        } 
       } 

       function validateStatus($status) 
       { 
        if ($_SERVER['REQUEST_METHOD'] == 'POST') 
        { 
         if (isset($status)) 
         { 
          if (empty($status)) 
          { 
           $this->$errorArray['status'] = 'Please select one or more items from status'; 
          } 
         } 
        } 
       } 



     } 
     //access class 
     $validation = new validate() 

     $validation->userName($_POST["name"]); 
     $validation->validateYear($_POST["year"]); 
     $validation->validateProvinces($_POST["provinces"]); 
     $validation->validateStatus($_POST["status"]); 
     $validation->validateEmail($_POST["email"]); 




    ?> 

我是初学者,我有过了一天尝试调试。请不要只修复我的代码,为我解释为什么我的代码无法工作。

非常感谢您的帮助。

+2

右括号}哪条线是121 – iatboy 2014-10-05 14:42:20

+0

$验证=新的验证()当我尝试使用类。 – PedroIt 2014-10-05 14:44:15

+1

两件事 - 行'$ validation = new validate()'不以分号结尾。第二件事是我没有看到该类的任何定义(如“类验证”)。 – MrByte 2014-10-05 14:44:23

回答

2

你在这里缺少一个右分号:

$validation = new validate() 

应该是:

$validation = new validate(); 
+0

分号不起作用。无论如何,谢谢 – PedroIt 2014-10-05 14:54:00

+1

更重要的是,你错过了'}'来关闭函数validateYear'。 – 2014-10-05 14:56:29

+0

分号问题引发了该错误,@NiettheDarkAbsol找到了另一个问题。 – Shomz 2014-10-05 14:58:45

0

你缺少在function validateYear()

+0

仍然无法正常工作错误解析错误:语法错误,意外的T_VARIABLE在/home/students/000313753/public_html/10065/php/lab2/lab2.php 119行上 – PedroIt 2014-10-05 15:51:08

+0

我测试过了,它正在工作。我想一些其他问题 – 2014-10-05 16:01:12

+0

119号线上的代码是什么,你能告诉我那个吗? – 2014-10-05 16:06:58

相关问题