?
Solved

PHP passing variables to JavaScript

Posted on 2011-09-13
11
Medium Priority
?
328 Views
Last Modified: 2012-05-12
I have read various postings on this subject and am uncertain whether this can/cannot be done.
My code is PHP.

I have a Countdown clock which is JS powered.
However if the user alters a time setting I want the countdown to alter accordingly.

So if my sessions variable for year is given by $_SESSION['Year'].
I have tried to transfer this in the JS along the lines of...

var year = '<%=Session["Year"].ToString() %>'; or
var year = '<%=Session["$_SESSION['Year']"].ToString() %>';

Have I got my syntax incorrect or is this impossible?
I would prefer not to have to pass this via the URL.




 
0
Comment
Question by:edhasted
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
  • 2
  • +2
11 Comments
 
LVL 82

Expert Comment

by:leakim971
ID: 36531225
your session value come from the browser and CAN'T BE available before/when opening the page for the first time.

use directly the cookie/session on the client side, check set/get cookies here : http://www.w3schools.com/JS/js_cookies.asp

var year = getCookie("Year");
if(year == null) ("Year", new Date().getFullYear(), 365);

Open in new window

0
 
LVL 13

Accepted Solution

by:
ansudhindra earned 2000 total points
ID: 36531233

try like this..

<script type="text/javascript">
    <?php
        echo "var yearNow = '".$_SESSION['Year']."';";
    ?>
</script>
0
 
LVL 82

Expert Comment

by:leakim971
ID: 36531262
Php?
0
Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI

 
LVL 13

Expert Comment

by:haloexpertsexchange
ID: 36531280
Are you writing it in php or asp?
Your code is a mix of those two syntaxes.
Also you would have to have short tags on inorder to use this <?= where you have <%=.
There are a could of ways to do this either echo out the entire statement using php where you do
echo "var year = '".Session["Year"].ToString()."'; ";
or do it like this
var year = '<?php echo Session["Year"].ToString(); ?> ';
0
 
LVL 13

Expert Comment

by:haloexpertsexchange
ID: 36531301
woops did not look closely enough but the way to access the session information is using $_SESSION alone you don't need the Session and the ToString().
0
 
LVL 84

Expert Comment

by:Dave Baldwin
ID: 36531341
You guys are right, the questioner is mixing ASP and PHP in a way that won't work.
0
 

Author Comment

by:edhasted
ID: 36531556
OK, let's reword this.

If I have a session designated by, $_SESSION['Year']
Can I retrieve that in the JavaScript? Yes or No.
And if Yes what is the approved syntax.

Apologies for mixing the syntax, I was copying from some proevious examples. I am using PHP.
0
 
LVL 13

Expert Comment

by:ansudhindra
ID: 36531597
Yes, you can do it..

simple way is like below..

<script type="text/javascript">
    <?php
        echo "var yearNow = '".$_SESSION['Year']."';";
    ?>
</script>
0
 

Author Comment

by:edhasted
ID: 36531677
<?php echo "var year =2011;" ?>  <-- Works
<?php echo "var yearNow = '".$_SESSION['Year']."';"; ?> <-- Does not

Just working with the syntax...

0
 

Author Comment

by:edhasted
ID: 36531739
Sorry, forgot the bleenin' obvious...

<?php session_start(); ?>
<?php echo "var year =".$_SESSION['Year'].";" ?>

That now works perfectly. Note the minor change to the syntax.

0
 

Author Closing Comment

by:edhasted
ID: 36531750
Please look at the syntax alteration in my last posting but essentially this is the answer. Very many thanks.
0

Featured Post

Get real performance insights from real users

Key features:
- Total Pages Views and Load times
- Top Pages Viewed and Load Times
- Real Time Site Page Build Performance
- Users’ Browser and Platform Performance
- Geographic User Breakdown
- And more

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article discusses how to create an extensible mechanism for linked drop downs.
This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…
Suggested Courses

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question