2014-10-05 54 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

相關問題