Forum Moderators: open

Message Too Old, No Replies

Use cookie to trigger innerHTML change

if(isset($_COOKIE[cookiename])) used to check

         

Br3nn4n

9:45 am on Mar 13, 2008 (gmt 0)

10+ Year Member



Using this code, the innerHTML isn't changing. How do I make the innerHTML change? Maybe use setTimeout?

Code:

<?php
if(isset($_COOKIE['pollchoice']))
echo "<script type='text/javascript' language='javascript'>document.getElementById('pollarea').innerHTML=\"poll results here\"</script>";
?>

Any ideas? I'm sure this is much easier than I'm making it :P

httpwebwitch

1:44 pm on Mar 13, 2008 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



The javascript looks syntactically correct.
try this quick test:

<?php print($_COOKIE['pollchoice']); ?>

Achernar

2:48 pm on Mar 13, 2008 (gmt 0)

10+ Year Member Top Contributors Of The Month



Why do you write javascript code from php?
You should either test the cookie in js, or write #pollarea's content directly in php. There is no use for js here.

Br3nn4n

8:30 pm on Mar 13, 2008 (gmt 0)

10+ Year Member



Okay, I got it working.

@Achernar, not sure quite what you mean....could you please explain more?

Achernar

1:32 am on Mar 14, 2008 (gmt 0)

10+ Year Member Top Contributors Of The Month



Since you're testing the cookie in php, why are echoing javascript that write html ?

It would be simpler to write directly:

<div id="pollchoice"><?php
if (isset($_COOKIE['pollchoice'])) echo "poll results here";
?></div>

or, if you don't need the empty div:

<?php
if (isset($_COOKIE['pollchoice'])) echo "<div id=\"pollchoice\">poll results here</div>";
?>