Learning PHP and MySQL
Chapter 13 Code
Monday, September 25, 2006
Example 13-5 Checking the values returned from the authentication prompt
<?php
$username = 'jon_doe';
$password = 'MyNameIsJonDoe';
if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW'])) {
header('WWW-Authenticate: Basic realm="Member Area"');
header("HTTP/1.0 401 Unauthorized");
echo "You must enter in a username and password combination!";
exit;
}
elseif (strcmp($_SERVER['PHP_AUTH_USER'], $username) !== 0 ||
strcmp($_SERVER['PHP_AUTH_PW'], $password) !== 0) { header('WWW-Authenticate: Basic realm="Member Area"'); header("HTTP/1.0 401 Unauthorized");
echo "Your username and password combination was incorrect!";
exit;
}
echo("You have successfully logged in!");
?>
Posted by krautgrrl on 09/25 at 11:27 AM
Chapter 13 Code • (1) Comments • (0) Trackbacks • Permalink
Chapter 13 Code • (1) Comments • (0) Trackbacks • Permalink
Example 13-6 Creating the users table to store login information
CREATE TABLE `users` (
`user_id` INT NOT NULL AUTO_INCREMENT,
`first_name` VARCHAR(100),
`last_name` VARCHAR(100),
`username` VARCHAR(45),
`password` CHAR(32), PRIMARY KEY (`user_id`));
This code returns:
Query OK, 0 rows affected (0.23 sec)
Posted by krautgrrl on 09/25 at 11:28 AM
Chapter 13 Code • (0) Comments • (0) Trackbacks • Permalink
Chapter 13 Code • (0) Comments • (0) Trackbacks • Permalink
Example 13-7 Creating the entry in the database for a user with an encrypted password
INSERT INTO users (`first_name`, `last_name`, `username`, `password`) VALUES
('Michele','Davis', 'mdavis', MD5('secret'));
Yields:
Query OK, 1 row affected (0.01 sec)
To check that your row was created and see what the MD5 encoding function returned, you query the users table:
SELECT * FROM users;
Posted by krautgrrl on 09/25 at 11:29 AM
Chapter 13 Code • (0) Comments • (0) Trackbacks • Permalink
Chapter 13 Code • (0) Comments • (0) Trackbacks • Permalink
Example 13-8 The database login details
<?php
$db_host='localhost';
$db_database='test';
$db_username='test';
$db_password='yourpass';
?>
Posted by krautgrrl on 09/25 at 11:31 AM
Chapter 13 Code • (2) Comments • (0) Trackbacks • Permalink
Chapter 13 Code • (2) Comments • (0) Trackbacks • Permalink
Example 13-9 Verifying a username and password against the database
<?php require_once('db_login.php'); require_once('DB.php');
if (!isset($_SERVER['PHP_AUTH_USER']) ||
!isset($_SERVER['PHP_AUTH_PW'])) {
header('WWW-Authenticate: Basic realm="Member Area"');
header("HTTP/1.0 401 Unauthorized");
echo "You must enter in a username and password combination!";
exit;
}
$web_username = $_SERVER['PHP_AUTH_USER'];
$web_password = $_SERVER['PHP_AUTH_PW'];
$connection = DB::connect("mysql://$db_username:$db_password@$db_host/$db_database");
if (DB::isError($connection)){
die ("Could not connect to the database: <br />". DB::errorMessage($connection));
}
$query = "SELECT `user_id`, `username` FROM `users` WHERE
`username`='".$web_username."' AND `password`=MD5('".$web_password."') LIMIT 1";
$result = $connection->query($query);
if (DB::isError($result)){
die("Could not query the database: <br />".$query." ".DB::errorMessage($result));
}
if (!$row = $result->fetchRow(DB_FETCHMODE_ASSOC)) { header('WWW-Authenticate: Basic realm="Member Area"'); header("HTTP/1.0 401 Unauthorized");
echo "Your username and password combination was incorrect!";
exit;
}
echo("You have successfully logged in as ".$row['username']."!");
?>
Posted by krautgrrl on 09/25 at 11:31 AM
Chapter 13 Code • (1) Comments • (0) Trackbacks • Permalink
Chapter 13 Code • (1) Comments • (0) Trackbacks • Permalink
Statistics
This page has been viewed 407260 times
Page rendered in 0.4703 seconds
Total Entries: 224
Total Comments: 16
Total Trackbacks: 307338
Most Recent Entry: 09/27/2006 12:39 pm
Most Recent Comment on: 10/26/2007 10:00 am
Total Members: 2
Total Logged in members: 0
Total guests: 9
Total anonymous users: 0
Most Recent Visitor on: 05/19/2012 05:06 am
The most visitors ever was 1103 on 11/20/2007 12:50 pm
