/    Sign up×
Community /Pin to ProfileBookmark

[RESOLVED] Javascript to PHP

Hello,

I have some Javascript that i want to call when the PHP $SESSION[id] is set.

I have tried this and have had no result:

<?
if(isset($_SESSION[‘id’]))
{
echo “<script type=’text/javascript’>
adminbarheaderloggedinevencountdown.style.visibility==’visible’;
underadminbarquicklinks.style.paddingTop==’30px’;
document.getElementById(‘logintab’).innerHTML == ‘Log Out’;
document.getElementById(‘loginorregisterkeyseperator’).innerHTML= = ”;
document.getElementById(‘registerkey’).innerHTML == ”;
document.getElementById(‘logintab’).onclick ==
function(){adminbarheaderloggedout();}
alert(‘You will now be shown as LOGGED IN. Please Note: this is a DEMO’);
</script>”;
}
?>

the javascript i wish to run is:

<script type=’text/javascript’>
adminbarheaderloggedinevencountdown.style.visibility==’visible’;
underadminbarquicklinks.style.paddingTop==’30px’;
document.getElementById(‘logintab’).innerHTML == ‘Log Out’;
document.getElementById(‘loginorregisterkeyseperator’).innerHTML= = ”;
document.getElementById(‘registerkey’).innerHTML == ”;
document.getElementById(‘logintab’).onclick ==
function(){adminbarheaderloggedout();}
alert(‘You will now be shown as LOGGED IN. Please Note: this is a DEMO’);
</script>

I would be extremely grateful if someone could help me with this as i have tried many things over the past few days and non have worked.

Many Thanks

to post a comment
PHP

4 Comments(s)

Copy linkTweet thisAlerts:
@hyperionXSFeb 19.2012 — It should work if indeed $_SESSION['id'] is set and your javascript code is valid.

First of all, check is $_
SESSION['id'] is set: do a print_r($_SESSION) to check.

If this is ok, then you have a problem with javascript and you should debug it.
Copy linkTweet thisAlerts:
@Jeff_MottFeb 19.2012 — Don't forget, single = is assignment; double == is comparison.
Copy linkTweet thisAlerts:
@thewebportfolioauthorFeb 19.2012 — Thank you, i have got this to work with just having my "alert" in as script.

echo "<script type='text/javascript'>alert('LOGGED IN');</script>";

Do you know how i could get my JavaScript to also function with this?

the fields i want to make visible and update are on my "index.php" file.

i have placed this is the head:

<?

require "include/bottom.php";

?>

this works great and calls the page to say:

<?

if(isset($_SESSION['id'])){

echo "<script type='text/javascript'>alert('LOGGED IN');</script>";

echo mysql_error();}

else{

echo "<script type='text/javascript'>alert('NOT SIGNED IN');</script>";

}

?>

[notice i have remove all javascript except the alert]

i wish to add the following javascript to this code except i can't seem to do it and make it work:

adminbarheaderloggedinevencountdown.style.visibility="visible";

underadminbarquicklinks.style.paddingTop='30px';

document.getElementById('logintab').innerHTML = 'Log Out';

document.getElementById('loginorregisterkeyseperator').innerHTML = '';

document.getElementById('registerkey').innerHTML = '';

document.getElementById('logintab').onclick = function(){adminbarheaderloggedout();}


if i call the script from an on click function within the "index.php" file this will work although i wish to call it from the "bottom.php" file within the code stated above.

Hope this makes sense

Many Thanks
Copy linkTweet thisAlerts:
@hyperionXSFeb 19.2012 — This is because maybe you are trying to access some objects before they are loaded.
[CODE]
<script type="text/javascript">
document.getElementById('index').innerHTML = 'this is test';
</script>
<div id="index"></div>
[/CODE]

will not work, because you try to access the node before it is ready. Instead you must put js after the html, like
[CODE]
<div id="index"></div>
<script type="text/javascript">
document.getElementById('index').innerHTML = 'this is test';
</script>
[/CODE]

Best way to avoid this is to defer execution. Put all in a function and load it after document finished loading.
[CODE]
<script type="text/javascript">
function inititlaLoad(){
document.getElementById('index').innerHTML = 'this is test';
/*...*/
}
window.onload = inititlaLoad
</script>
[/CODE]

or jQuery equivalent (and way better solution)
[CODE]
<script type="text/javascript">
$(function(){
document.getElementById('index').innerHTML = 'this is test';
/*...*/
})
/* make sure to include jQuery library in order for this to work */
</script>
[/CODE]

In the last 2 examples you can put HTML code and JS code wherever you want in the page.
×

Success!

Help @thewebportfolio spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 6.2,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @meenaratha,
tipped: article
amount: 1000 SATS,

tipper: @meenaratha,
tipped: article
amount: 1000 SATS,

tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,
)...