Ik ben bezig met een rollover script voor een navigatie menu. Dit is tot dus ver geen probleem. Het script werkt mooi en de rollovers doen hun werk. Maar nu: het is de bedoeling dat er een extra knop aan het menu zal worden toegevoegd wanneer men is ingelogd. Dit krijg ik maar niet aan de praat. De image staat er wel maar de rollover werkt niet meer als ik de code echo in php.

Hieronder de betreffende code. Ik zit al dagen vast op dit punt en kan mijn fout maar niet vinden. Ik vrees dat het een eigenaardigheid van php is maar mijn kennis rijkt niet ver genoeg om daar over te kunnen oordelen.

<?php
if (session_is_registered('Login'))
{ echo "<tr>";
echo "<td height='25' valign='top'>";
echo "<a href='http://www.wollef.nl/index.php?page=postnews'; onMouseover='document.Roll_PostNews.src='images/Menu_Post_Press.gif'' onMouseout='document.Roll_PostNews.src='images/Menu_Post_News.gif''><img src='images/Menu_Post_News.gif' name='Roll_Files' width='112' height='25' border=0></a>";
echo "</td>";
echo "</tr>";
}
?>
Probeer eens de rollover zonder de PHP code uit te voeren, kijk eens of hij het dan wel doet.

Doet hij het niet, dan weet je dat het aan de rollover ligt, maak hem dan opnieuw.

Als het wel werkt doe dan dit:

<?
if (session_is_registered(bla))
{
?>

rollover in html

<?
}
?>
Zonder php doet hij het gewoon. Ik gebruik dezelfde rollover buiten php op meerdere plaatsen op mijn site
doe het dan zo:

<?
if (session_is_registered(bla))
{
?>

rollover in html

<?
}
?>
Maar dan laat ie de rollover toch ook zien als je niet bent ingelogd?
nee hoor, probeer maar eens
In dat laatste deel na de rollover moet dan een else komen te staan? Anders parsed php dat toch ook en voert ie dat ook uit? Kun je mij uitleggen waarom het html stuk buiten de {} alleen wordt uitgevoerd als de session klopt?

doe het dan zo:

<?
if (session_is_registered(bla))
{
?>

rollover in html

<?
}
?>

Bor :)

Das PHP??

<?
if (statement)
{
//uitvoeren
}
?>

werkt dus ook wanneer er html tussen staat:

<?
if (statement)
{
?>

// uitvoeren als statement true is

<?
}
else
{
echo "Doe wat anders";
}
?>



Probleem is inmiddels opgelost. Bedankt voor de hulp!
mooizo :)

Reageren