Sign In | Register Now About Bytes | Help | Site Map
Connecting Tech Pros Worldwide

Flash & PHP Session

Question posted by: Steve Cook (Guest) on August 20th, 2006 06:35 AM
Hi,

I have an upload application written in PHP and Flash. The PHP page
gets the file information via $_POST. Moreover, the user never
actually visits the PHP page, rather Flash sends the information to the
PHP page and then loads the result, all in the background. Right now,
the php page cannot access the $_SESSION. Is there anyway that I can
conitnue the PHP session when doing this or does the user have to visit
the PHP page?

Thanks.

Steve

Jerry Stuckle's Avatar
Jerry Stuckle
Guest
n/a Posts
August 20th, 2006
05:05 PM
#2

Re: Flash & PHP Session
Steve Cook wrote:
Quote:
Hi,
>
I have an upload application written in PHP and Flash. The PHP page
gets the file information via $_POST. Moreover, the user never
actually visits the PHP page, rather Flash sends the information to the
PHP page and then loads the result, all in the background. Right now,
the php page cannot access the $_SESSION. Is there anyway that I can
conitnue the PHP session when doing this or does the user have to visit
the PHP page?
>
Thanks.
>
Steve
>


Looks like your flash isn't sending the session cookie along with the
rest of the request.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
Join Bytes!
==================

Steve  Cook's Avatar
Steve Cook
Guest
n/a Posts
August 20th, 2006
09:45 PM
#3

Re: Flash & PHP Session

Jerry Stuckle wrote:
Quote:
Steve Cook wrote:
Quote:
Hi,

I have an upload application written in PHP and Flash. The PHP page
gets the file information via $_POST. Moreover, the user never
actually visits the PHP page, rather Flash sends the information to the
PHP page and then loads the result, all in the background. Right now,
the php page cannot access the $_SESSION. Is there anyway that I can
conitnue the PHP session when doing this or does the user have to visit
the PHP page?

Thanks.

Steve

>
Looks like your flash isn't sending the session cookie along with the
rest of the request.
>
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
Join Bytes!
==================


Do you have an idea how I can get flash to send the session cookie?


Jerry Stuckle's Avatar
Jerry Stuckle
Guest
n/a Posts
August 20th, 2006
10:35 PM
#4

Re: Flash & PHP Session
Steve Cook wrote:
Quote:
Jerry Stuckle wrote:
>
Quote:
>>Steve Cook wrote:
>>
Quote:
>>>Hi,
>>>
>>>I have an upload application written in PHP and Flash. The PHP page
>>>gets the file information via $_POST. Moreover, the user never
>>>actually visits the PHP page, rather Flash sends the information to the
>>>PHP page and then loads the result, all in the background. Right now,
>>>the php page cannot access the $_SESSION. Is there anyway that I can
>>>conitnue the PHP session when doing this or does the user have to visit
>>>the PHP page?
>>>
>>>Thanks.
>>>
>>>Steve
>>>

>>
>>Looks like your flash isn't sending the session cookie along with the
>>rest of the request.
>>
>>--
>>==================
>>Remove the "x" from my email address
>>Jerry Stuckle
>>JDS Computer Training Corp.
>>jstucklex@attglobal.net
>>==================

>
>
Do you have an idea how I can get flash to send the session cookie?
>


I think you're going to have to ask that in a Flash newsgroup. We're
PHP programmers here.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
Join Bytes!
==================

Steve  Cook's Avatar
Steve Cook
Guest
n/a Posts
August 21st, 2006
12:25 AM
#5

Re: Flash & PHP Session

Jerry Stuckle wrote:
Quote:
Steve Cook wrote:
Quote:
Jerry Stuckle wrote:
Quote:
>Steve Cook wrote:
>
>>Hi,
>>
>>I have an upload application written in PHP and Flash. The PHP page
>>gets the file information via $_POST. Moreover, the user never
>>actually visits the PHP page, rather Flash sends the information to the
>>PHP page and then loads the result, all in the background. Right now,
>>the php page cannot access the $_SESSION. Is there anyway that I can
>>conitnue the PHP session when doing this or does the user have to visit
>>the PHP page?
>>
>>Thanks.
>>
>>Steve
>>
>
>Looks like your flash isn't sending the session cookie along with the
>rest of the request.
>
>--
>==================
>Remove the "x" from my email address
>Jerry Stuckle
>JDS Computer Training Corp.
>jstucklex@attglobal.net
>==================



Do you have an idea how I can get flash to send the session cookie?

>
I think you're going to have to ask that in a Flash newsgroup. We're
PHP programmers here.
>
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
Join Bytes!
==================


I definitely know how to pass the session_id via flash. I guess I
should have asked how do I manually set the session_id value in PHP?
In other words how do I populate the session_id variable?


Jerry Stuckle's Avatar
Jerry Stuckle
Guest
n/a Posts
August 21st, 2006
01:25 AM
#6

Re: Flash & PHP Session
Steve Cook wrote:
Quote:
Jerry Stuckle wrote:
>
Quote:
>>Steve Cook wrote:
>>
Quote:
>>>Jerry Stuckle wrote:
>>>
>>>
>>>>Steve Cook wrote:
>>>>
>>>>
>>>>>Hi,
>>>>>
>>>>>I have an upload application written in PHP and Flash. The PHP page
>>>>>gets the file information via $_POST. Moreover, the user never
>>>>>actually visits the PHP page, rather Flash sends the information to the
>>>>>PHP page and then loads the result, all in the background. Right now,
>>>>>the php page cannot access the $_SESSION. Is there anyway that I can
>>>>>conitnue the PHP session when doing this or does the user have to visit
>>>>>the PHP page?
>>>>>
>>>>>Thanks.
>>>>>
>>>>>Steve
>>>>>
>>>>
>>>>Looks like your flash isn't sending the session cookie along with the
>>>>rest of the request.
>>>>
>>>>--
>>>>==================
>>>>Remove the "x" from my email address
>>>>Jerry Stuckle
>>>>JDS Computer Training Corp.
>>>>jstucklex@attglobal.net
>>>>==================
>>>
>>>
>>>Do you have an idea how I can get flash to send the session cookie?
>>>

>>
>>I think you're going to have to ask that in a Flash newsgroup. We're
>>PHP programmers here.
>>
>>--
>>==================
>>Remove the "x" from my email address
>>Jerry Stuckle
>>JDS Computer Training Corp.
>>jstucklex@attglobal.net
>>==================

>
>
I definitely know how to pass the session_id via flash. I guess I
should have asked how do I manually set the session_id value in PHP?
In other words how do I populate the session_id variable?
>


You don't. PHP does, based on the session id passed back by the browser
- which is stored in a cookie.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
Join Bytes!
==================

amygdala's Avatar
amygdala
Guest
n/a Posts
August 21st, 2006
06:55 AM
#7

Re: Flash & PHP Session

"Jerry Stuckle" <jstucklex@attglobal.netschreef in bericht
news:i8adnfdQ7qUVk3TZnZ2dnUVZ_qOdnZ2d@comcast.com. ..
Quote:
Steve Cook wrote:
Quote:
>Jerry Stuckle wrote:
>>
Quote:
>>>Steve Cook wrote:
>>>
>>>>Jerry Stuckle wrote:
>>>>
>>>>
>>>>>Steve Cook wrote:
>>>>>
>>>>>
>>>>>>Hi,
>>>>>>
>>>>>>I have an upload application written in PHP and Flash. The PHP page
>>>>>>gets the file information via $_POST. Moreover, the user never
>>>>>>actually visits the PHP page, rather Flash sends the information to
>>>>>>the
>>>>>>PHP page and then loads the result, all in the background. Right now,
>>>>>>the php page cannot access the $_SESSION. Is there anyway that I can
>>>>>>conitnue the PHP session when doing this or does the user have to
>>>>>>visit
>>>>>>the PHP page?
>>>>>>
>>>>>>Thanks.
>>>>>>
>>>>>>Steve
>>>>>>
>>>>>
>>>>>Looks like your flash isn't sending the session cookie along with the
>>>>>rest of the request.
>>>>>
>>>>>--
>>>>>==================
>>>>>Remove the "x" from my email address
>>>>>Jerry Stuckle
>>>>>JDS Computer Training Corp.
>>>>>jstucklex@attglobal.net
>>>>>==================
>>>>
>>>>
>>>>Do you have an idea how I can get flash to send the session cookie?
>>>>
>>>
>>>I think you're going to have to ask that in a Flash newsgroup. We're
>>>PHP programmers here.
>>>
>>>--
>>>==================
>>>Remove the "x" from my email address
>>>Jerry Stuckle
>>>JDS Computer Training Corp.
>>>jstucklex@attglobal.net
>>>==================

>>
>>
>I definitely know how to pass the session_id via flash. I guess I
>should have asked how do I manually set the session_id value in PHP?
>In other words how do I populate the session_id variable?
>>

>
You don't. PHP does, based on the session id passed back by the browser -
which is stored in a cookie.
>
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
Join Bytes!
==================


I beg to differ:

Do something like:

<?php
ini_set('session.use_cookies', '0');
session_start();
?>

Put your flash movie in the same page and echo the SID behind it (old school
style):

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"
width="32" height="32">
<param name="movie" value="whatever.swf?<?php echo SID ?>">
<param name="quality" value="high">
<embed src="whatever.swf?<?php echo SID ?>" width="32" height="32"
quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash" sid=""></embed></object>

This will give you access to the variable PHPSESSID in flash. Make sure you
append this to every GET request to php.

Notice though that appending session ID's to GET request are often
considered a security risk. But since you are using flash and thus requests
are made in the background (not through addressbar requests), it's somewhat
safer to use IMO.

Cheers



amygdala's Avatar
amygdala
Guest
n/a Posts
August 21st, 2006
07:15 AM
#8

Re: Flash & PHP Session

"amygdala" <noreply@noreply.comschreef in bericht
news:44e95b9a$0$2013$9a622dc7@news.kpnplanet.nl...
Quote:
>
"Jerry Stuckle" <jstucklex@attglobal.netschreef in bericht
news:i8adnfdQ7qUVk3TZnZ2dnUVZ_qOdnZ2d@comcast.com. ..
Quote:
>Steve Cook wrote:
Quote:
>>Jerry Stuckle wrote:
>>>
>>>>Steve Cook wrote:
>>>>
>>>>>Jerry Stuckle wrote:
>>>>>
>>>>>
>>>>>>Steve Cook wrote:
>>>>>>
>>>>>>
>>>>>>>Hi,
>>>>>>>
>>>>>>>I have an upload application written in PHP and Flash. The PHP page
>>>>>>>gets the file information via $_POST. Moreover, the user never
>>>>>>>actually visits the PHP page, rather Flash sends the information to
>>>>>>>the
>>>>>>>PHP page and then loads the result, all in the background. Right
>>>>>>>now,
>>>>>>>the php page cannot access the $_SESSION. Is there anyway that I can
>>>>>>>conitnue the PHP session when doing this or does the user have to
>>>>>>>visit
>>>>>>>the PHP page?
>>>>>>>
>>>>>>>Thanks.
>>>>>>>
>>>>>>>Steve
>>>>>>>
>>>>>>
>>>>>>Looks like your flash isn't sending the session cookie along with the
>>>>>>rest of the request.
>>>>>>
>>>>>>--
>>>>>>==================
>>>>>>Remove the "x" from my email address
>>>>>>Jerry Stuckle
>>>>>>JDS Computer Training Corp.
>>>>>>jstucklex@attglobal.net
>>>>>>==================
>>>>>
>>>>>
>>>>>Do you have an idea how I can get flash to send the session cookie?
>>>>>
>>>>
>>>>I think you're going to have to ask that in a Flash newsgroup. We're
>>>>PHP programmers here.
>>>>
>>>>--
>>>>==================
>>>>Remove the "x" from my email address
>>>>Jerry Stuckle
>>>>JDS Computer Training Corp.
>>>>jstucklex@attglobal.net
>>>>==================
>>>
>>>
>>I definitely know how to pass the session_id via flash. I guess I
>>should have asked how do I manually set the session_id value in PHP?
>>In other words how do I populate the session_id variable?
>>>

>>
>You don't. PHP does, based on the session id passed back by the
>browser - which is stored in a cookie.
>>
>--
>==================
>Remove the "x" from my email address
>Jerry Stuckle
>JDS Computer Training Corp.
>Join Bytes!
>==================

>
I beg to differ:
>
Do something like:
>
<?php
ini_set('session.use_cookies', '0');
session_start();
?>
>
Put your flash movie in the same page and echo the SID behind it (old
school style):
>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"
width="32" height="32">
<param name="movie" value="whatever.swf?<?php echo SID ?>">
<param name="quality" value="high">
<embed src="whatever.swf?<?php echo SID ?>" width="32" height="32"
quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash" sid=""></embed></object>
>
This will give you access to the variable PHPSESSID in flash. Make sure
you append this to every GET request to php.
>
Notice though that appending session ID's to GET request are often
considered a security risk. But since you are using flash and thus
requests are made in the background (not through addressbar requests),
it's somewhat safer to use IMO.
>
Cheers
>


Ooops I didn't thoroughly read the whole thread. I didn't read that a
session was already started.

Forget about the ini_set('session.use_cookies', '0'); part.

And do (untested):

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"
width="32" height="32">
<param name="movie" value="whatever.swf?PHPSESSID=<?php echo session_id()
?>">
<param name="quality" value="high">
<embed src="whatever.swf?PHPSESSID=<?php echo session_id() ?>" width="32"
height="32" quality="high"
pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash" sid=""></embed></object>

Then in the php page that handles flash requests:

<?php
session_id($_GET['PHPSESSID']);
session_start();
?>

Should do the trick. But maybe I'm overlooking something here.



amygdala's Avatar
amygdala
Guest
n/a Posts
August 21st, 2006
07:25 AM
#9

Re: Flash & PHP Session

"amygdala" <noreply@noreply.comschreef in bericht
news:44e96003$0$2030$9a622dc7@news.kpnplanet.nl...
Quote:
>
"amygdala" <noreply@noreply.comschreef in bericht
news:44e95b9a$0$2013$9a622dc7@news.kpnplanet.nl...
Quote:
>>
>"Jerry Stuckle" <jstucklex@attglobal.netschreef in bericht
>news:i8adnfdQ7qUVk3TZnZ2dnUVZ_qOdnZ2d@comcast.com. ..
Quote:
>>Steve Cook wrote:
>>>Jerry Stuckle wrote:
>>>>
>>>>>Steve Cook wrote:
>>>>>
>>>>>>Jerry Stuckle wrote:
>>>>>>
>>>>>>
>>>>>>>Steve Cook wrote:
>>>>>>>
>>>>>>>
>>>>>>>>Hi,
>>>>>>>>
>>>>>>>>I have an upload application written in PHP and Flash. The PHP page
>>>>>>>>gets the file information via $_POST. Moreover, the user never
>>>>>>>>actually visits the PHP page, rather Flash sends the information to
>>>>>>>>the
>>>>>>>>PHP page and then loads the result, all in the background. Right
>>>>>>>>now,
>>>>>>>>the php page cannot access the $_SESSION. Is there anyway that I
>>>>>>>>can
>>>>>>>>conitnue the PHP session when doing this or does the user have to
>>>>>>>>visit
>>>>>>>>the PHP page?
>>>>>>>>
>>>>>>>>Thanks.
>>>>>>>>
>>>>>>>>Steve
>>>>>>>>
>>>>>>>
>>>>>>>Looks like your flash isn't sending the session cookie along with the
>>>>>>>rest of the request.
>>>>>>>
>>>>>>>--
>>>>>>>==================
>>>>>>>Remove the "x" from my email address
>>>>>>>Jerry Stuckle
>>>>>>>JDS Computer Training Corp.
>>>>>>>jstucklex@attglobal.net
>>>>>>>==================
>>>>>>
>>>>>>
>>>>>>Do you have an idea how I can get flash to send the session cookie?
>>>>>>
>>>>>
>>>>>I think you're going to have to ask that in a Flash newsgroup. We're
>>>>>PHP programmers here.
>>>>>
>>>>>--
>>>>>==================
>>>>>Remove the "x" from my email address
>>>>>Jerry Stuckle
>>>>>JDS Computer Training Corp.
>>>>>jstucklex@attglobal.net
>>>>>==================
>>>>
>>>>
>>>I definitely know how to pass the session_id via flash. I guess I
>>>should have asked how do I manually set the session_id value in PHP?
>>>In other words how do I populate the session_id variable?
>>>>
>>>
>>You don't. PHP does, based on the session id passed back by the
>>browser - which is stored in a cookie.
>>>
>>--
>>==================
>>Remove the "x" from my email address
>>Jerry Stuckle
>>JDS Computer Training Corp.
>>Join Bytes!
>>==================

>>
>I beg to differ:
>>
>Do something like:
>>
><?php
>ini_set('session.use_cookies', '0');
>session_start();
>?>
>>
>Put your flash movie in the same page and echo the SID behind it (old
>school style):
>>
><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
>codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"
>width="32" height="32">
> <param name="movie" value="whatever.swf?<?php echo SID ?>">
> <param name="quality" value="high">
> <embed src="whatever.swf?<?php echo SID ?>" width="32" height="32"
>quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"
>type="application/x-shockwave-flash" sid=""></embed></object>
>>
>This will give you access to the variable PHPSESSID in flash. Make sure
>you append this to every GET request to php.
>>
>Notice though that appending session ID's to GET request are often
>considered a security risk. But since you are using flash and thus
>requests are made in the background (not through addressbar requests),
>it's somewhat safer to use IMO.
>>
>Cheers
>>

>
Ooops I didn't thoroughly read the whole thread. I didn't read that a
session was already started.
>
Forget about the ini_set('session.use_cookies', '0'); part.
>
And do (untested):
>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"
width="32" height="32">
<param name="movie" value="whatever.swf?PHPSESSID=<?php echo session_id()
?>">
<param name="quality" value="high">
<embed src="whatever.swf?PHPSESSID=<?php echo session_id() ?>" width="32"
height="32" quality="high"
pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash" sid=""></embed></object>
>
Then in the php page that handles flash requests:
>
<?php
session_id($_GET['PHPSESSID']);
session_start();
?>
>
Should do the trick. But maybe I'm overlooking something here.


And once again, I didn't read thoroughly anough:
Quote:
Quote:
>This will give you access to the variable PHPSESSID in flash. Make sure
>you append this to every GET request to php.


Should of course be: POST variable to php

And then in the php page that handles flash requests:

<?php
session_id($_POST['PHPSESSID']); // instead of $_GET[...]
session_start();
?>

lol



amygdala's Avatar
amygdala
Guest
n/a Posts
August 21st, 2006
08:15 AM
#10

Re: Flash & PHP Session
<snip>
Quote:
Quote:
Quote:
>>>>>Is there anyway that I can
>>>>>conitnue the PHP session when doing this or does the user have to visit
>>>>>the PHP page?


<snip>

So basically; what I'm trying to say here is: Yes, you need flash embedded
in _a_ (not _the_) php script (within the same domain of course) to read the
cookie, and Jerry was right. ;)

As a last resort to ommitting flash put in a php file, you could use
javascript to read the cookie and append the PHPSESSID var. But you would
have to rely on the user having javascript turned on. Which is a rather big
no no.

Also, I've been out of webdeveloping for a while, so I'm not sure whether
this is still allowed by the majority of browsers anyway.

HTH



Steve  Cook's Avatar
Steve Cook
Guest
n/a Posts
August 22nd, 2006
07:35 PM
#11

Re: Flash & PHP Session
amygdala wrote:
Quote:
<snip>
>
Quote:
Quote:
>>>>Is there anyway that I can
>>>>conitnue the PHP session when doing this or does the user have to visit
>>>>the PHP page?

>
<snip>
>
So basically; what I'm trying to say here is: Yes, you need flash embedded
in _a_ (not _the_) php script (within the same domain of course) to read the
cookie, and Jerry was right. ;)
>
As a last resort to ommitting flash put in a php file, you could use
javascript to read the cookie and append the PHPSESSID var. But you would
have to rely on the user having javascript turned on. Which is a rather big
no no.
>
Also, I've been out of webdeveloping for a while, so I'm not sure whether
this is still allowed by the majority of browsers anyway.
>
HTH


Thanks for all of your help. I ended up adding the following to the
php page to continue the session and accept the session_id from Flash:

Expand|Select|Wrap|Line Numbers
  1.  
  2. <?
  3. if (!session_id()) {
  4. if (isset($_GET['session_id'])) {
  5. session_id($_GET['session_id]);
  6. }
  7. session_start();
  8. }
  9. ?>
  10.  


Thanks again.

Steve


 
Not the answer you were looking for? Post your question . . .
189,891 Experts ready to help you find a solution.
Sign up for a free account, or Login (if you're already a member).

Latest Articles: Read & Comment
  • Didn't find the answer you were looking for?
    Post Your Question
  • Top Community Contributors