note 91334 deleted from function.session-start by danbrown

From: 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>

« previous php.notes (#156462) next »