У меня есть три метода в моем классе. Один печатает контент. Другие формы процессов, а третий - ошибки. Внутри метода, который обрабатывает форму, у меня есть глобальная переменная, где хранятся ошибки. Однако, когда я хочу использовать его в методе, который возвращает ошибки, он просто его не видит. МетодГлобальная переменная не работает (в пределах одного класса)
Ошибки:
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 'test string'
в методе return_errors он печатает ' тестовая строка "в правильном месте. Однако, когда я использую return $error_messages
, этот метод ничего не возвращает.
это будет работать если мне нужно распечатать несколько ошибок? – Kunok
@Куно у вас может быть несколько переменных SESSION или вы можете иметь переменные SESSION массива (для хранения нескольких значений) http://www.w3schools.com/php/php_sessions.asp – pavlovich