<?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&script=12.6&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&script=12.11&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');
}?>