Solved

PHP passing variables to JavaScript

Posted on 2011-09-13
11
285 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
  • 4
  • 2
  • 2
  • +2
11 Comments
 
LVL 82

Expert Comment

by:leakim971
Comment Utility
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 500 total points
Comment Utility

try like this..

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

Expert Comment

by:leakim971
Comment Utility
Php?
0
 
LVL 13

Expert Comment

by:haloexpertsexchange
Comment Utility
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
Comment Utility
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
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 82

Expert Comment

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

Author Comment

by:edhasted
Comment Utility
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
Comment Utility
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
Comment Utility
<?php echo "var year =2011;" ?>  <-- Works
<?php echo "var yearNow = '".$_SESSION['Year']."';"; ?> <-- Does not

Just working with the syntax...

0
 

Author Comment

by:edhasted
Comment Utility
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
Comment Utility
Please look at the syntax alteration in my last posting but essentially this is the answer. Very many thanks.
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Suggested Solutions

This article discusses four methods for overlaying images in a container on a web page
Boost your ability to deliver ambitious and competitive web apps by choosing the right JavaScript framework to best suit your project’s needs.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
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…

744 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

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now