|
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]
|