note 91334 deleted from function.session-start by danbrown
| From: | danbrown@php.net | Date: | Mon, 08 Jun 2009 12:42:02 +0000 |
| Subject: | note 91334 deleted from function.session-start by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-156462@lists.php.net to get a copy of this message | ||
Note Submitter: RPaseur at NationalPres dot org
----
<?php // RAY_session_cookie_domain.php
// DEMONSTRATE HOW TO START SESSIONS THAT WORK IN DIFFERENT SUBDOMAINS PHP 5.2+
error_reporting(E_ALL);
// MAKE THE SESSION COOKIE AVAILABLE TO ALL SUBDOMAINS
// MAKE A DOMAIN NAME THAT OMITS WWW OR OTHER SUBDOMAINS
// BREAK THE HOST NAME APART AT THE DOTS
$x = explode('.', strtolower($_SERVER["HTTP_HOST"]));
$y = count($x);
if ($y == 1) // POSSIBLY 'localhost'
{
$host = $x[0];
} else // SOMETHING LIKE 'www2.atf70.whitehouse.gov'?
{
// USE A DOT PLUS THE LAST TWO POSITIONS TO MAKE THE HOST DOMAIN NAME
$host = '.' . $x[$y-2] . '.' . $x[$y-1];
}
// START THE SESSION AND SET THE COOKIE FOR ALL SUBDOMAINS
$sess_name = session_name();
if (session_start())
{
// MAN PAGE http://us.php.net/manual/en/function.setcookie.php
setcookie($sess_name, session_id(), NULL, '/', $host, FALSE, TRUE);
}
// PROVE THAT THE COOKIE WORKS IN MULTIPLE DOMAINS
// LOAD UP SOME INFORMATION TO SHOW SESSION CONTENTS
$_SESSION["cheese"] = "Cheddar";
if (!isset($_SESSION["count"])) $_SESSION["count"] = 0;
$_SESSION["count"] ++;
// PUT UP TWO LINKS WITH DIFFERENT SUBDOMAINS
$gost = substr($host,1); // STRIP OFF THE DOT THAT WAS NEEDED FOR SETCOOKIE
$dmn_link = 'http://' . $gost .
'/RAY_dump_session.php'; // var_dump() SCRIPT
$www_link = 'http://www' . $host .
'/RAY_dump_session.php';
echo "<br/><a target=\"_blank\"
href=\"$www_link\">$www_link</a>\n";
echo "<br/><a target=\"_blank\"
href=\"$dmn_link\">$dmn_link</a>\n";
// SHOW WHAT IS IN COOKIE AND IN $_SESSION
echo "<pre>";
echo "COOKIE ";
var_dump($_COOKIE);
echo "\n\n";
echo "SESSION ";
var_dump($_SESSION);
echo "</pre>\n";
?>
<form method="post">
<input type="submit" value="CLICK ME" />
</form>