Script 12.5 Login with cookies

Output

Login

For testing purposes:
Email address = test@mail.com
Password = 1234

Source
<?php # Script 12.5 - login with cookies and extra setcookie() settings
// This page processes the login form submission.
// The script now adds extra parameters to the setcookie() lines.

// Check if the form has been submitted:
if ($_SERVER['REQUEST_METHOD'] == 'POST') {

	// For processing the login:
	require (CHAPTER_PATH.'/'.$chapter.'/includes/12.2.php');
	
	// Need the database connection:
	require (CONNECT);
		
	// Check the login:
	list ($check, $data) = check_login($link, $_POST['email'], $_POST['pass']);
	require(DISCONNECT); // Close the database connection.

	if ($check) { // OK!
		// Set the cookies:
		setcookie ('user_id', $data['user_id'], time()+1800, '/', '', 0, 0);
		setcookie ('first_name', $data['first_name'], time()+1800, '/', '', 0, 0);
		setcookie ('last_name', $data['last_name'], time()+1800, '/', '', 0, 0);
		// delete errors cookie
		if(isset($_COOKIE['errors'])) {
			setcookie ('errors', '', time()-3600, '/', '', 0, 0);
		}
		// Redirect:
		redirect_user('index.php?chapter=12&path=using+cookies&script=12.4');
			
	} else { // Unsuccessful!

		// Assign $data to $errors for login_page.inc.php:
		$errors = $data;
		setcookie ('errors', serialize($data), time()+1800, '/', '', 0, 0);
		redirect_user('index.php?chapter=12&path=using+cookies&script=12.5');

	}

} elseif(isset($_COOKIE['user_id'])) {
	include (CHAPTER_PATH.'/'.$chapter.'/includes/12.7.php');
	echo '<div id="content">';
	echo '<p class="error">You are already logged in using cookies.<br />
	<a href="index.php?chapter=12&amp;script=12.6&amp;path=using+cookies" title="Log out">Log out</a></p>';
	echo '</div>';
	include (CHAPTER_PATH.'/'.$chapter.'/includes/footer.php');

} elseif(isset($_SESSION['user_id'])) {
	include (CHAPTER_PATH.'/'.$chapter.'/includes/12.10.php');
	echo '<div id="content">';
	echo '<p class="error">You are already logged in using sessions.<br />
	<a href="index.php?chapter=12&amp;script=12.11&amp;path=using+sessions" title="Log out">Log out</a></p>';
	echo '</div>';
	include (CHAPTER_PATH.'/'.$chapter.'/includes/footer.php');

} else {
	//display login page
	include (CHAPTER_PATH.'/'.$chapter.'/includes/12.1.php');
}?>