By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
434,921 Members | 1,442 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 434,921 IT Pros & Developers. It's quick & easy.

Question about sessions_start and header()?

P: n/a
Please help me clear the cobwebs out???

I pretty much use session_start(); at the start of most/all of my PHP
programs and use the $_SESSION array to store control variables. This
technique seems to work quite well and is easily manages.

However, now I've come up to a situation where it's biting me and I need
some other ideas as to how to get around my situation.

In my PHP program I am in a logic block that requires to next page to be
delivered from a different server. If this were a link then I would use
the "href=" tag and when the user clicked on it control would go as
expected.

However, in this case I need control to go seamlessly and automatically. So
I thought I would use the header(location:) function and guess what? It
doesn't work because I have sessions and apparently sessions does something
that causes the headers to be disallowed.

I've evaluated trying to eliminate the sessions but this technique really
works so well and exactly was it is supposed to. So I am thinking that I
cannot be the only one whose come up against this before. Therefore, what
are OTHERS doing to accomplish this requirement (i.e.: using sessions and
still being able to automatically/seamlessly transition to a different
server without additional user input)?

I am most anxious to read what others are doing.
Thanks,

Bob
Jul 24 '06 #1
Share this Question
Share on Google+
7 Replies


P: n/a
*** bobmct escribió/wrote (Mon, 24 Jul 2006 15:57:01 -0400):
It doesn't work because I have sessions and apparently sessions does
something that causes the headers to be disallowed.
They shouldn't.

Sample code?
--
-+ http://alvaro.es - Álvaro G. Vicario - Burgos, Spain
++ Mi sitio sobre programación web: http://bits.demogracia.com
+- Mi web de humor con rayos UVA: http://www.demogracia.com
--
Jul 24 '06 #2

P: n/a
Will window.location.href work.

From:
<?php
header("location: somepage.php");
?>

To:
?>
<script language="javascript">
window.location.href = "somepage.php"
</script>
<?php
Javascript must be enabled in the browser settings.


bobmct wrote:
Please help me clear the cobwebs out???

I pretty much use session_start(); at the start of most/all of my PHP
programs and use the $_SESSION array to store control variables. This
technique seems to work quite well and is easily manages.

However, now I've come up to a situation where it's biting me and I need
some other ideas as to how to get around my situation.

In my PHP program I am in a logic block that requires to next page to be
delivered from a different server. If this were a link then I would use
the "href=" tag and when the user clicked on it control would go as
expected.

However, in this case I need control to go seamlessly and automatically. So
I thought I would use the header(location:) function and guess what? It
doesn't work because I have sessions and apparently sessions does something
that causes the headers to be disallowed.

I've evaluated trying to eliminate the sessions but this technique really
works so well and exactly was it is supposed to. So I am thinking that I
cannot be the only one whose come up against this before. Therefore, what
are OTHERS doing to accomplish this requirement (i.e.: using sessions and
still being able to automatically/seamlessly transition to a different
server without additional user input)?

I am most anxious to read what others are doing.
Thanks,

Bob
Jul 25 '06 #3

P: n/a
bobmct wrote:
Please help me clear the cobwebs out???

I pretty much use session_start(); at the start of most/all of my PHP
programs and use the $_SESSION array to store control variables. This
technique seems to work quite well and is easily manages.

However, now I've come up to a situation where it's biting me and I need
some other ideas as to how to get around my situation.

In my PHP program I am in a logic block that requires to next page to be
delivered from a different server. If this were a link then I would use
the "href=" tag and when the user clicked on it control would go as
expected.

However, in this case I need control to go seamlessly and automatically. So
I thought I would use the header(location:) function and guess what? It
doesn't work because I have sessions and apparently sessions does something
that causes the headers to be disallowed.

I've evaluated trying to eliminate the sessions but this technique really
works so well and exactly was it is supposed to. So I am thinking that I
cannot be the only one whose come up against this before. Therefore, what
are OTHERS doing to accomplish this requirement (i.e.: using sessions and
still being able to automatically/seamlessly transition to a different
server without additional user input)?

I am most anxious to read what others are doing.
Thanks,

Bob

Bob,

Sessions shouldn't be a problem. I use sessions and redirect at times,
and it works.

Ensure you aren't sending something else (even white space) out before
the header() call.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================
Jul 25 '06 #4

ronverdonk
Expert 2.5K+
P: 4,258
I always use sessions and redirect quite frequently. Also, I can see no reason why these are related. You must have sent SOMETHING. Are you sure you don't have any forgotten HTML piece of code, or another header, or a blank after your closing ?> statement?

Ronald :cool:
Jul 25 '06 #5

P: n/a
Manish wrote:
Will window.location.href work.

From:
<?php
header("location: somepage.php");
?>

To:
?>
<script language="javascript">
window.location.href = "somepage.php"
</script>
<?php
Javascript must be enabled in the browser settings.


bobmct wrote:
>Please help me clear the cobwebs out???

I pretty much use session_start(); at the start of most/all of my PHP
programs and use the $_SESSION array to store control variables. This
technique seems to work quite well and is easily manages.

However, now I've come up to a situation where it's biting me and I need
some other ideas as to how to get around my situation.

In my PHP program I am in a logic block that requires to next page to be
delivered from a different server. If this were a link then I would use
the "href=" tag and when the user clicked on it control would go as
expected.

However, in this case I need control to go seamlessly and automatically.
So
I thought I would use the header(location:) function and guess what? It
doesn't work because I have sessions and apparently sessions does
something that causes the headers to be disallowed.

I've evaluated trying to eliminate the sessions but this technique really
works so well and exactly was it is supposed to. So I am thinking that I
cannot be the only one whose come up against this before. Therefore,
what are OTHERS doing to accomplish this requirement (i.e.: using
sessions and still being able to automatically/seamlessly transition to a
different server without additional user input)?

I am most anxious to read what others are doing.
Thanks,

Bob
Thanks to those who responded.

It appears that if NO output is done prior to the header() function then the
session_start() will still work.

Normally for debugging I display some variables as output and it appears
that is what was biting me.

As someone once said decades ago: "If the computer is smart enough to know
its incorrect, then why isn't it smart enough to correct it?"

Thanks again,

Bob
Jul 25 '06 #6

P: n/a
bobmct <r.*********@fdcx.netXwrote:
It appears that if NO output is done prior to the header() function then the
session_start() will still work.

Normally for debugging I display some variables as output and it appears
that is what was biting me.

As someone once said decades ago: "If the computer is smart enough to know
its incorrect, then why isn't it smart enough to correct it?"
ob_start() is your friend.

miguel
--
Photos from 40 countries on 5 continents: http://travel.u.nu
Latest photos: Malaysia; Thailand; Singapore; Spain; Morocco
Airports of the world: http://airport.u.nu
Jul 26 '06 #7

P: n/a
*** bobmct escribió/wrote (Tue, 25 Jul 2006 17:06:40 -0400):
It appears that if NO output is done prior to the header() function then the
session_start() will still work.
PHP gives a warning when you do so. Try setting error_reporting to E_ALL
or, at least, E_ALL & ~E_NOTICE.

Normally for debugging I display some variables as output and it appears
that is what was biting me.

As someone once said decades ago: "If the computer is smart enough to know
its incorrect, then why isn't it smart enough to correct it?"
It could correct it, let's say, randomly ignoring some of your code? ;-)
--
-+ http://alvaro.es - Álvaro G. Vicario - Burgos, Spain
++ Mi sitio sobre programación web: http://bits.demogracia.com
+- Mi web de humor con rayos UVA: http://www.demogracia.com
--
Jul 26 '06 #8

This discussion thread is closed

Replies have been disabled for this discussion.