www.webdeveloper.com
Results 1 to 5 of 5

Thread: [RESOLVED] Javascript to PHP

Hybrid View

  1. #1
    Join Date
    Feb 2012
    Posts
    30

    resolved [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

  2. #2
    Join Date
    Feb 2012
    Posts
    218
    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.

  3. #3
    Join Date
    Jul 2003
    Location
    The City of Roses
    Posts
    2,503
    Don't forget, single = is assignment; double == is comparison.
    for(split(//,'))*))91:+9.*4:1A1+9,1))2*:..)))2*:31.-1)4131)1))2*:3)"'))
    {for(ord){$i+=$_&7;grep(vec($s,$i++,1)=1,1..($_>>3)-4);}}print"$s\n";

  4. #4
    Join Date
    Feb 2012
    Posts
    30
    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

  5. #5
    Join Date
    Feb 2012
    Posts
    218
    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>
    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>
    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>
    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>
    In the last 2 examples you can put HTML code and JS code wherever you want in the page.
    Last edited by hyperionXS; 02-19-2012 at 10:28 AM.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles