PHP ver gevorderde |
|
Hallo iedereen,
Ik wil graag een div zichtbaar / onzichtbaar maken en die info dan in een PHP cookie opslaan (anders moet men bij elke pagina het weer naar hun favo uiterlijk aanpassen). De code die ik heb:
Javascript.php
<script type="text/javascript">
function change_div_status(dname)
{
start = document.getElementById(dname);
if(dname == 'info')
{
<?php
$set = new set_cookie('info');
?>
}
else if(dname == 'rpg')
{
<?php
$set = new set_cookie('rpg');
?>
}
else
{
<?php
$set = new set_cookie('sluipw');
?>
}
if(start.style.display == 'block')
{
<?php
$set->set_status(TRUE);
?>
start.style.display = 'none';
}
else
{
<?php
$set->set_status(FALSE);
?>
start.style.display = 'block';
}
<?php
$set->set_ok();
?>
}
</script>
<?php
class set_cookie
{
var $waar;
var $status;
function set_cookie($waar)
{
$this->waar = $waar;
}
function set_status($status)
{
$this->status = $status;
}
function set_ok()
{
$_COOKIE[$this->waar] = $this->status;
}
}
?>
<script type="text/javascript"> function change_div_status(dname) { start = document.getElementById(dname); if(dname == 'info') { <?php $set = new set_cookie('info'); ?> } else if(dname == 'rpg') { <?php $set = new set_cookie('rpg'); ?> } else { <?php $set = new set_cookie('sluipw'); ?> } if(start.style.display == 'block') { <?php $set->set_status(TRUE); ?> start.style.display = 'none'; } else { <?php $set->set_status(FALSE); ?> start.style.display = 'block'; } <?php $set->set_ok(); ?> } </script> <?php class set_cookie { var $waar; var $status; function set_cookie($waar) { $this->waar = $waar; } function set_status($status) { $this->status = $status; } function set_ok() { $_COOKIE[$this->waar] = $this->status; } } ?>
header.php
<body>
<?php
//DIT STUKJE PHP CODE IS ENKEL OP TE TESTEN
if(isset($_COOKIE['rpg']))
{
echo 'RPG cookie bestaat: ';
if($_COOKIE['info'])
echo 'Ja';
else
echo 'Neen';
}
else
echo 'RPG cookie bestaat niet';
?>
[...]
<a href="#" onmouseover="change_div_status('rpg')" class="normalc">- RPG menu</a><br />
<a href="#" onmouseover="change_div_status('info')" class="normalc">- Info menu</a><br />
<a href="#" onmouseover="change_div_status('sluipw')" class="normalc">- Sluipwegwijzer menu</a>
<div id="rpg">
Enkel HTML code, geen JS code
</div>
<div id="info">
Enkel HTML code, geen JS code
</div>
<div id="sluipw">
Enkel HTML code, geen JS code
</div>
<body> <?php //DIT STUKJE PHP CODE IS ENKEL OP TE TESTEN if(isset($_COOKIE['rpg'])) { echo 'RPG cookie bestaat: '; if($_COOKIE['info']) else } else echo 'RPG cookie bestaat niet'; ?> [...] <a href="#" onmouseover="change_div_status('rpg')" class="normalc">- RPG menu</a><br /> <a href="#" onmouseover="change_div_status('info')" class="normalc">- Info menu</a><br /> <a href="#" onmouseover="change_div_status('sluipw')" class="normalc">- Sluipwegwijzer menu</a> <div id="rpg"> Enkel HTML code, geen JS code </div> <div id="info"> Enkel HTML code, geen JS code </div> <div id="sluipw"> Enkel HTML code, geen JS code </div>
Nu zegt het bovenin bij die test altijd dat de cookie niet bestaat. Waarom doet ie het niet goed en hoe kan dit opgelost worden?
|