Location: PHPKode > scripts > AWS SDK for PHP > sdk-1.6.0/_samples/html-dynamodb_sessions_login.php
 * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 *  http://aws.amazon.com/apache2.0
 * or in the "license" file accompanying this file. This file is distributed
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.

	In order to run this sample, I'll assume a few things:

	* You already have a valid Amazon Web Services developer account, and are
	  signed up to use Amazon DynamoDB <http://aws.amazon.com/simpledb>.

	* You already understand the fundamentals of object-oriented PHP.

	* You've verified that your PHP environment passes the SDK Compatibility Test.

	* You've already added your credentials to your config.inc.php file, as per the
	  instructions in the Getting Started Guide.

	* You've already created a table in Amazon DynamoDB called "sessions-test" with
	  a string primary key called "id".

	* Run this file on your web server by loading it in your browser. It will
	  generate HTML output.

// Include the SDK
require_once dirname(dirname(__FILE__)) . '/sdk.class.php';

// Instantiate a DynamoDB client
$dynamodb = new AmazonDynamoDB();

// Instantiate, configure, and register the session handler
$session_handler = $dynamodb->register_session_handler(array(
	'table_name'       => 'sessions-test',
	'lifetime'         => 3600,

// Open the session

// If the logout flag is set, do a logout instead
if (isset($_GET['logout']))
	// Destroy the session

	// Refresh this page to show the login form
	header('Location: html-dynamodb_sessions_login.php');

// Simulate authentication by checking for username and password
if (isset($_POST['username']) && isset($_POST['password']))
	$username = trim($_POST['username']);
	$password = trim($_POST['password']);

	if (!empty($username) && !empty($password))
		// Simulate logging in the user by storing their info in the session
		$_SESSION['username'] = $username;
		$_SESSION['views'] = 0;

// Increment page views for logged in users
if (isset($_SESSION['username']) && isset($_SESSION['views']))

// Write the session (Doing this early helps prevent latency when session locking is enabled)

// Generate the HTML for the page
header("Content-type: text/html; charset=utf-8");

<!DOCTYPE html>
<html lang="en">
    <meta charset="utf-8">
    <title>PHP DynamoDB Session Handler</title>
    <link href="http://twitter.github.com/bootstrap/assets/css/bootstrap.css" rel="stylesheet">
    <style type="text/css"></style>


    <div class="container">


      <div class="row">
        <div class="span12">
          <h1>DynamoDB Session Handler Demo for PHP</h1>


      <div class="row">
        <div class="span12">
          <?php if (isset($_SESSION['username'])): ?>
          <div class="well">
            <h3>Hi, <?php echo $_SESSION['username']; ?>!</h3>
            <p>You are logged in! You have viewed this page <strong><?php echo $_SESSION['views']; ?></strong> time(s) since you logged in.</p>
            <div class="button-group">
              <a class="btn btn-large btn-success" href="html-dynamodb_sessions_login.php"><i class="icon-refresh icon-white"></i> Refresh</a>
              <a class="btn btn-large btn-danger" href="html-dynamodb_sessions_login.php?logout"><i class="icon-lock icon-white"></i> Logout</a>
          <?php else: ?>
          <form action="html-dynamodb_sessions_login.php" method="post" class="form-horizontal well">
              <div class="control-group">
                <label class="control-label" for="username">Username</label>
                <div class="controls">
                  <input type="text" class="input-xlarge" id="username" name="username">
              <div class="control-group">
                <label class="control-label" for="password">Password</label>
                <div class="controls">
                  <input type="password" class="input-xlarge" id="password" name="password">
              <div class="form-actions">
                <button type="submit" class="btn btn-large btn-primary"><i class="icon-user icon-white"></i> Login</button>
          <?php endif; ?>


Return current item: AWS SDK for PHP