note 91334 added to function.session-start

From: Date: Sat, 06 Jun 2009 15:26:54 +0000
Subject: note 91334 added to function.session-start
Groups: php.notes 
Request: Send a blank email to php-notes+get-156416@lists.php.net to get a copy of this message
<?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> ---- Server IP: 64.71.164.2 Probable Submitter: 74.9.128.130 ---- Manual Page -- http://www.php.net/manual/en/function.session-start.php Edit -- https://master.php.net/note/edit/91334 Del: integrated -- https://master.php.net/note/delete/91334/integrated Del: useless -- https://master.php.net/note/delete/91334/useless Del: bad code -- https://master.php.net/note/delete/91334/bad+code Del: spam -- https://master.php.net/note/delete/91334/spam Del: non-english -- https://master.php.net/note/delete/91334/non-english Del: in docs -- https://master.php.net/note/delete/91334/in+docs Del: other reasons-- https://master.php.net/note/delete/91334 Reject -- https://master.php.net/note/reject/91334 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#156416) next »