It seems the setcookie function is a header type function and will not allow any html output before it. Is there any other way to make it work except redirect to a new php page?Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\mylogin\login.php:17) in C:\xampp\htdocs\mylogin\login.php on line 78
Code: Select all
<?php
if (isset($_COOKIE['LoggedInStatus']))
{
/* ACCESS LOCKED AREA IF COOKIE EXISTS */
if ($_GET['action']=='logout')
{
/* LOGOUT */
setcookie("LoggedInStatus", 0, time()-86400);
header('Location: login.php');
}
echo "You are logged in!<br/><a href='index.php?action=logout'>Logout</a>";
}
else
{
echo "<a href='index.php?action=register'>Register</a>";
/* REGISTER NEW ACCOUNT */
if ($_GET['action']=='register')
{
//get user data
$username="sindarin";
$password="123";
$email="info@mymail.com";
$account_type="admin";
$date_registered=date('Y-m-d h:i:s');
$date_lastlogin=date('Y-m-d h:i:s');
//convert password to md5 hash
$password=md5($password);
//insert user to database
$db_insert="
INSERT INTO users
(
user_name,
user_password,
user_email,
user_account_type,
user_date_registered,
user_date_lastlogin
)
VALUES
(
'$username',
'$password',
'$email',
'$account_type',
'$date_registered',
'$date_lastlogin'
)";
if (mysql_query($db_insert,$db_connection)){
echo "<br/>Registered Successfully!";
}else{mysql_error();}
}
/* CHECK LOGIN */
if ($_GET['action']=='login')
{
$username=$_POST['username'];
$password=$_POST['password'];
$password=md5($password);
echo "<br/>Attempt to login:<br/>";
$db_select = " SELECT * FROM users WHERE user_name='$username' ";
$db_fetch = mysql_query($db_select,$db_connection);
while($row = mysql_fetch_array($db_fetch))
{
$get_username=$row['user_name'];
$get_password=$row['user_password'];
}
if ($get_password==$password && $get_username==$username && isset($username) && isset($password))
{
//this is where the problem is
setcookie("LoggedInStatus", 1, time()+86400);
echo "Username & Password is correct!";
}
else
{
echo "incorrect login details!";
}
}
/* LOGIN FORM */
echo "
<br/>
Login
<br/>
<form id='form1' name='form1' method='post' action='index.php?action=login'>
<p>
<input name='username' type='text' id='username' />
</p>
<p>
<input name='password' type='text' id='password' />
</p>
<p>
<input name='Login' type='submit' id='Login' value='Login' />
</p>
</form>
<br/><br/>
<a href='index.php?action=forgotpassword'>Forgot Password</a>
";
}
?>