2012-10-18 51 views
2

我試圖將我的p4a應用程序的用戶重定向到我的應用程序的儀表板視圖,但成功登錄後,重定向到「main_dashboard_mask」出現錯誤「Method openmask not found login_mask .PHP線35"未找到方法openMask P4A

class login_mask extends P4A_Base_Mask 
{ 
public function __construct() 
{ 
    parent::__construct(); 

    $this->setTitle("Login to Dashboard"); 

    $this->build("p4a_field", "username"); 

    $this->build("p4a_field", "password"); 
    $this->build("p4a_button", "login") 
    ->implement("onclick", $this, "login"); 

    $this->frame 
    ->anchor($this->username) 
    ->anchor($this->password) 
    ->anchor($this->login); 
} 

public function login() 
{ 
    $username = $this->username->getNewValue(); 
    $password = $this->password->getNewValue(); 

    $sql = "SELECT * FROM users 
    WHERE 
      username = ?";  

    $row = p4a_db::singleton()->fetchRow($sql, array($username)); 

    if (($row['username'] == $username) && ($row['password'] == $password)){ 
     $this->openMask("main_dashboard_mask");} 
    else { 
      $this->setTitle("Login Failed");} 
    } 
} 

我不知道是否它的索引文件或東西我已經在這裏錯過了,好了,現在香港專業教育學院通過走了一遍,似乎無論身在何處,我把該功能在頁面上我不能找到問題,不管它出現在哪裏,錯誤都會持續發生,這讓我覺得問題出自以前的一個頁面,在這裏他們是:

<?php 

define ("P4A_DSN", "mysql://root:@localhost/login"); 

require_once dirname(__FILE__) . '/../../p4a.php'; 

$login = p4a::singleton('login_begin'); 

$login->main(); 

...

<?php 
class login_begin extends P4A 
{ 
public function __construct() 
{ 
    parent:: __construct(); 
    $this->openMask("login_mask"); 
} 
} 

任何幫助將是非常apprieciated。

+0

剛看完我已經完成的代碼,我認爲它與函數聲明有關,儘管在示例文件中,編碼與登錄,但應用程序正常工作,任何援助將不勝感激。 –

回答

1

右我解決了什麼問題是什麼,當擴展P4A_Base_Mask與類login_mask我排除功能是必需的(主要是openmask函數)排序這我簡單地使用預先的遊標延長P4A(考慮到使用openMask的)這行代碼是

p4a::singleton()->openmask() 

所以在公共職能登錄的變化()是

public function login() 
{ 

    $username = $this->username->getNewValue(); 
    $password = $this->password->getNewValue(); 

    $sql = "SELECT * FROM users 
    WHERE 
      username = ? 
      ";  

    $row = p4a_db::singleton()->fetchRow($sql, array($username)); 

    if (($row['username'] == $username) && ($row['password'] == $password)) 
    { 
     p4a::singleton()->openmask("main_dashboard_mask"); 
    } 

    else { 
    $this->setTitle("Login Failed");} 
} 

如果這個不清楚,有人想更清楚這將是解釋非常歡迎,我不完全是在我應該使用什麼樣的技術術語:)

+0

對於那些因爲類似問題而來到這裏的人來說,在StackOverflow上獲得P4A是已知的,在這裏提出你的問題,即時通訊是新的,但是我確定我會遇到同樣的問題,我會大大地apprieciate幫助:) –

相關問題