As the title says, I have a login script. It works on localhost, but it doesn't when I've uploaded it to the webserver. I've tried things like ob_start(), but it still doesn't seem to work.
I've removed the class for the sake of ease, so I'm now using the header() function.
<html>
<header>
<title>Profiel</title>
<link href="css/style.css" rel="stylesheet" type="text/css" media="all"/>
</header>
<body>
<?php
require_once 'core/init.php';
echo "<div id='main-block' class='main-block'>";
if(Input::exists()) {
$validate = new Validate();
$validation = $validate->check($_POST, array(
'username' => array('required' => true),
'password' => array('required' => true)
));
if($validate->passed()) {
$user = new User();
$remember = (Input::get('remember') === 'on') ? true : false;
$login = $user->login(Input::get('username'), Input::get('password'), $remember);
if($login) {
echo '<br>RD<br>';
header('Location: index.php', true);
} else {
echo '<p>Incorrect username or password</p>';
}
} else {
foreach($validate->errors() as $error) {
echo $error, '<br>';
}
}
}
?>
<table>
<form method="post">
<tr>
<div class="field">
<td><label for='username'>Username</label></td>
<td><input type="text" name="username" id="username" autocomplete="off"></td>
</div>
</tr>
<tr>
<div class="field">
<td><label for='password'>Password</label></td>
<td><input type="password" name="password" id="password"></td>
</div>
</tr>
<tr>
<div class="field">
<td><label for="remember">
<input type="checkbox" name="remember" id="remember">Remember me
</label></td>
</div>
</tr>
<input type="hidden" name="token" value="<?php echo Token::generate(); ?>">
<tr><td><input type="submit" name='submit' value="Login"></td></tr>
</form>
</table>
</div>
</body>
</html>
I hope someone has got the solution for me!