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

Flash & PHP Session

P: n/a
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

Aug 20 '06 #1
Share this Question
Share on Google+
10 Replies


P: n/a
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.
js*******@attglobal.net
==================
Aug 20 '06 #2

P: n/a

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.
js*******@attglobal.net
==================
Do you have an idea how I can get flash to send the session cookie?

Aug 20 '06 #3

P: n/a
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.
js*******@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.
js*******@attglobal.net
==================
Aug 20 '06 #4

P: n/a

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.
js*******@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.
js*******@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?

Aug 21 '06 #5

P: n/a
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.
js*******@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.
js*******@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.
js*******@attglobal.net
==================
Aug 21 '06 #6

P: n/a

"Jerry Stuckle" <js*******@attglobal.netschreef in bericht
news:i8******************************@comcast.com. ..
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.
>js*******@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.
js*******@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.
js*******@attglobal.net
==================
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
Aug 21 '06 #7

P: n/a

"amygdala" <no*****@noreply.comschreef in bericht
news:44**********************@news.kpnplanet.nl...
>
"Jerry Stuckle" <js*******@attglobal.netschreef in bericht
news:i8******************************@comcast.com. ..
>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.
>>js*******@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.
js*******@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.
js*******@attglobal.net
==================

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.
Aug 21 '06 #8

P: n/a

"amygdala" <no*****@noreply.comschreef in bericht
news:44**********************@news.kpnplanet.nl...
>
"amygdala" <no*****@noreply.comschreef in bericht
news:44**********************@news.kpnplanet.nl...
>>
"Jerry Stuckle" <js*******@attglobal.netschreef in bericht
news:i8******************************@comcast.com ...
>>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.
>>>js*******@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.
>js*******@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.
js*******@attglobal.net
==================

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:
>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
Aug 21 '06 #9

P: n/a
<snip>
>>>>>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
Aug 21 '06 #10

P: n/a
amygdala wrote:
<snip>
>>>>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.  
  11.  
Thanks again.

Steve

Aug 22 '06 #11

This discussion thread is closed

Replies have been disabled for this discussion.