You are here: Re: Aren't session variable preserved using "Header('Location: xxx')"? « PHP Programming Language « IT news, forums, messages
Re: Aren't session variable preserved using "Header('Location: xxx')"?

Posted by lwoods on 10/02/99 11:38

Thanks, but I still can't get it to work. Check the following:

Originating Page:

<?
if($_POST['repost']=='y') {
session_start();
$_SESSION['xxx']='test';
session_write_close();
header('Location: http://www.mysite.com/test/testsess2.php');
exit();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<form action=<? echo $_SERVER['PHP_SELF']; ?> method="post">
<input type="submit" name="submit" value="Submit" />
<input type="hidden" name="repost" value="y" />
</form>
</body>
</html>

Target Page - testsess2.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<?
echo "xxx=".$_SESSION['xxx'];
?>
</body>
</html>

Try these pages and see if they work for you....

Larry Woods

"d" <d@example.com> wrote in message
news:T2rzf.3315$wl.1860@text.news.blueyonder.co.uk...
> "lwoods" <larry@lwoods.com> wrote in message
> news:RPqzf.8953$JT.6285@fed1read06...
>>I am trying to pass some info to another page on my site. I set
>>"session_start()" in page 1, assign a session variable to a value, then
>>execute a "header('Location: ....')." But on the target page I don't get
>>any session variable values! BTW, I used a relative location in the
>>Location header, not an absolute URL. The behavior looks like it started
>>another session, but it should not have.
>>
>> Ideas?
>
> Before the header("location: "), call session_write_close().
>
> That gave me some serious headaches with mac-based browsers hanging.
> Terrible stuff :)
>
> Oh, and you should always use absolute URLs with location. Relative ones
> do work, but that's not guaranteed. You could make a function like this
> to take care of that for you:
>
> function bounce($url) {
> if (sustr($url, 0, 1)=="/") $url="http://".$_SERVER["HTTP_HOST"].$url;
> session_write_close();
> header("Location: ".$url);
> exit();
> }
>
> or just use that one :-P
>
>> TIA,
>>
>> Larry Woods
>>
>
>

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация