You might be overthinking this. Look at login.php in the distro code. It calls apologize with a string literal ie apologize("Invalid username and/or password."); $message has the value that was passed to the apologize function. So, you do not have to create any variable named $message, it is the function argument.