samona Posted April 15, 2011 Share Posted April 15, 2011 Hi all, In the following code I have a header() call that should be executed when the username or password field is empty. However, for some reason that header() function will not execute. Instead, it goes all the way to the end of the process() method. Any help will be appreciated. class ProcessLoginForm { private $db; public function __construct(){ $this->db = new MySQLDB(); } public function process() { $guest_session = new Session(); $errors = array(); $username = sanatize($_POST['username']); $password = sanatize($_POST['password']); if (empty($username)) { $errors['username'] = 'The username field cannot be blank.'; } if (empty($password)) { $errors['password'] = 'The password field cannot be blank.'; } if (count($errors)) { $_SESSION['errors'] = $errors; header('Location:../login.php'); } if ($this->db->authenticateUser($username, md5($password))) { $guest_session->destroySession(); $session = new Session(); $session->registerSession($username); header('Location:../welcome.php'); } $errors['invalid'] = 'Invalid Username/Password'; $_SESSION['errors'] = $errors; header('Location:../login.php'); } } $proc = new ProcessLoginForm(); $proc->process(); ?> Quote Link to comment https://forums.phpfreaks.com/topic/233814-header-within-class/ Share on other sites More sharing options...
analog Posted April 15, 2011 Share Posted April 15, 2011 Put die after the header and it will stop. Header() doesn't stop the processing it just sets HTTP headers. Quote Link to comment https://forums.phpfreaks.com/topic/233814-header-within-class/#findComment-1202018 Share on other sites More sharing options...
samona Posted April 15, 2011 Author Share Posted April 15, 2011 thanks!!! Quote Link to comment https://forums.phpfreaks.com/topic/233814-header-within-class/#findComment-1202023 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.