Himanshu
Himanshu

Reputation: 1443

Passing JavaScript Variable to PHP Session variable

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

Upvotes: 1

Views: 6519

Answers (5)

Chetan Sharma
Chetan Sharma

Reputation: 2557

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

Upvotes: 2

goat
goat

Reputation: 31854

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

Upvotes: 3

Vishal
Vishal

Reputation: 1234

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.

Upvotes: 0

dpmguise
dpmguise

Reputation: 728

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

Upvotes: 0

user499054
user499054

Reputation:

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.

Upvotes: 0

Related Questions