note 40366 added to ref.session
| From: | setec at freemail dot it | Date: | Mon, 01 Mar 2004 18:41:31 +0000 |
| Subject: | note 40366 added to ref.session | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-66055@lists.php.net to get a copy of this message | ||
This is a usefull code I have done that allows to make a redirection using headers with full support
for sessions and HTTP 1.1.
<?php
function session_redirect ($url = "")
{
function _safe_set (&$var_true, $var_false = "")
{
if (!isset ($var_true))
{ $var_true = $var_false; }
}
$parse_url = parse_url ($url);
_safe_set ($parse_url["scheme"], "http");
_safe_set ($parse_url["host"], $_SERVER['HTTP_HOST']);
_safe_set ($parse_url["path"], "");
_safe_set ($parse_url["query"], "");
_safe_set ($parse_url["fragment"], "");
if (substr ($parse_url["path"], 0, 1) != "/")
{
$parse_url["path"] = dirname ($_SERVER['PHP_SELF']) .
"/" . $parse_url["path"];
}
if ($parse_url["query"] != "")
{ $parse_url["query"] = $parse_url["query"] . "&"; }
$parse_url["query"] = "?" . $parse_url["query"] .
session_name () . "=" .
strip_tags (session_id ());
if ($parse_url["fragment"] != "")
{ $parse_url["fragment"] = "#" . $parse_url["fragment"]; }
$url = $parse_url["scheme"] . "://" . $parse_url["host"] .
$parse_url["path"] . $parse_url["query"] .
$parse_url["fragment"];
session_write_close ();
header ("Location: " . $url);
exit;
}
?>
----
Manual Page -- http://www.php.net/manual/en/ref.session.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+40366
Delete -- http://master.php.net/manage/user-notes.php?action=delete+40366&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+40366&report=yes
Search -- http://master.php.net/manage/user-notes.php