我在班上有三種方法。一個打印內容。其他進程形式和第三個返回錯誤。在處理表單的方法中,我有全局變量存儲錯誤的地方。但是,當我想在返回錯誤的方法中使用它時,它根本看不到它。全局變量不起作用(在一個班級內)
錯誤方法:
private function return_errors(){
return $error_messages;
}
表格處理方法:
private function process_form(){
if (isset($_POST['submit'])) {
# Assign data
$username = $_POST['username'];
$email = $_POST['email'];
$password = $_POST['password'];
$confirm_password = $_POST['confirm-password'];
# Dialog array
global $error_messages;
$error_messages = 'test';
...
打印功能:
public function print_content(){
# Process form data
$this->process_form();
# output buffering start
ob_start();
# print navbar
$this->print_navbar();
# declare output buffering content
$output = ob_get_contents();
# add more output data
$output .= ' alot of string...'.$this->print_dialog().'...more string.';
# end output buffering and return it
ob_end_clean();
return $output;
}
所以問題是,如果我在return_errors方法使用return 'test string'
它打印「測試字符串'在正確的地方正確。但是,當我使用return $error_messages
該方法根本不返回任何內容。
將這項工作如果我需要打印多個錯誤? – Kunok
@Kuno你可以有多個SESSION變量,或者你可以有數組SESSION變量(存儲多個值)http://www.w3schools.com/php/php_sessions.asp – pavlovich