I am trying to update/create session variable when I change the option thru a drop-down box. TThe value is stored in a javascript function. Can any1 tell me how I can pass this variable to my PHP session variable without using a AJAX request. Thanks
-
I would just cast level 9 jquery at this problem, personally. – goat Jan 20 '11 at 06:09
5 Answers
No ajax? ok,
var img = new Image();
img.src = "script.php?myVal=" + encodeURIComponent(theValueToPass);
The browser will try to load the image by requesting the url. Obviously it will be a fools errand, but your php script will get executed and the value available in php's $_GET['myVal']

- 31,486
- 7
- 73
- 96
Hmmm, I think, You can do it by adding a cookie value with your javascript, and update your session in php on the NEXT PAGE REFERESH, with reference to that cookie value.
I haven't tried it, and i don't think there is way we can update the session from just client side with javascript.
Thanks

- 2,539
- 5
- 25
- 41
You can't really.
Session data is altered with the server, while Javascript can only alter client-side data (such as cookies). You can, however, create a solution by creating a new PHP page that passes a variable within the GET/POST request, then alters the session.
The only alternative I can think of is using javascript to set a parameter in the URL which you could interpret later with PHP, but that would be after another page load.
http://www.mine.com/index.html?paramter=variable&anotherparam=anothervariable
see this post for a method to achive this
edit: I don't think this will achive what you after on second thought, but I'll leave the answer just in-case
-
Thnx a lot 4 ur answers. But with the URL dere is a problem. Actually when I select the options from my drop down box, the URL doesnt get updated coz the whole page is using multiple AJAX request and without selecting refreshing the page the URL doesnt get updated. I think the only option left with me is an AJAX request. – Himanshu Jan 20 '11 at 06:00
PHP session variable resides on the server:
http://www.w3schools.com/PHP/php_sessions.asp
but the JavaScript values are on client-end only.
There should be a mechanism to send this to server, if not using ajax: try saving this value into a hidden field and then sending it using usual get/post.

- 1,236
- 1
- 9
- 16