Finns det något sätt att med php rensa minet vid varje musklick?
Användbart eftersom jag vill kunna visa vilken länk som är aktiverad med visited i cssfilen. Som det är nu så blir alla besökta markerade..
Rensa minnet med php
11 svar · 963 visningar · startad av J07
Detta har ingenting med PHP att göra.
Du ändrar utseende på besökta länkar med CSS, exempelvis såhär:
a:visited { color:red; }
PHP körs på servern och det är klienten som kommer ihåg vilka länkar som varit besökta.
Så svaret på din fråga är: Nej, det går inte med PHP.
Ok, jag har förklarat mig dåligt:
Det jag vill är att visa vilken länk som bvesöks just nu. Alltså om jag klickar på Länk2 så vill jag att länk2 ska vara understruken hela tiden när jag är inne på den och sen blir bara länk3 understruken när jag besöker den.
Med visited blir alla klickade länakr understrukna vilket blir fel och med active så blir den bara understruken i klickögonblicket...också fel. Så hur gör jag då?
Inte för att detta är tråden för javascript men kanske det är det enda sättet då?
Om du använder dig av t.ex get variabler för att visa sidorna skulle du kunna lägga en if sats som kollar vilken länk som är aktiv och sen bara lägga en egen css klass på den länken.
J07 skrev:
Ok, jag har förklarat mig dåligt:
Det jag vill är att visa vilken länk som bvesöks just nu. Alltså om jag klickar på Länk2 så vill jag att länk2 ska vara understruken hela tiden när jag är inne på den och sen blir bara länk3 understruken när jag besöker den.
Med visited blir alla klickade länakr understrukna vilket blir fel och med active så blir den bara understruken i klickögonblicket...också fel. Så hur gör jag då?Inte för att detta är tråden för javascript men kanske det är det enda sättet då?
Hm... du kan ju ha en speciell CSS-klass för understuken länk som du tex kallar för .here . Låt PHP generera dina länkar på följande sätt:
if ($_SERVER[PHP_SELF] == $currentLink)
$class = 'class="here" ';
else $class = '';
echo "<a $class href=\"$currentLink\">Look at me</a>";
Borde lösa problemet.
Om du har argument i URL:n som skiljer sidorna/länkarna från varann får du jämföra med
if ($_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] == $currentLink)
... istället.
Fortfarande inte fått rätt på detta. Session kanske vore något, hur skulle det då se ut?
Någonting liknande detta då om du har en listmeny?
<ul>
<?php
$current = basename($_SERVER['PHP_SELF']);
$links = array (
'index.php' => 'hem',
'sid2.php' => 'Sidan 2',
'sid3.php' => 'Sidan 3',
'lankar.php' => 'Länkar'
);
foreach ($links as $link => $text) {
$id = $link == $current ? ' id="current"' : '';
echo "<li><a$id href=\"$link\">$text</a></li>\n";
}
?>
</ul>
och har
#current{
text-decoration: underline;
}
<!---hur får jag detta att stämma överens med det under?---->
$current = basename($_SERVER['PHP_SELF']);
$links = array (
'http://91.189.41.20/~u4524720/index.php' => 'Start',
'index.php?option=com_wrapper&Itemid=48' => 'Till salu'
);
foreach ($links as $link => $text) {
$id = $link == $current ? ' id="current"' : '';
echo "<li><a$id href=\"$link\">$text</a></li>\n";
}
<!----till hit---->
$links = array();
foreach ($rows as $row) {
$links[] = mosGetMenuLink( $row, 0, $params );
}
$menuclass = 'mainlevel'. $params->get( 'class_sfx' );
if (count( $links )) {
switch ($style) {
case 1:
echo '<ul id="'. $menuclass .'">';
foreach ($links as $link) {
echo '<li>' . $link . '</li>';
}
echo '</ul>';
break;
Jag förstår inte vad det är du vill göra... och vet inte om jag kan hjälpa dig...
Men hur är det meningen att menyn ska se ut i utskrift?
Koden (1) är den kod som finns inbyggt cms systemet jag använder. Koden (2) måste anpassas in i den för att det ska fungera, jag vet bara inte hur?
(2)
$current = basename($_SERVER['PHP_SELF']);
$links = array (
'http://91.189.41.20/~u4524720/index.php' => 'Start',
'index.php?option=com_wrapper&Itemid=48' => 'Till salu'
);
foreach ($links as $link => $text) {
$id = $link == $current ? ' id="current"' : '';
echo "<li><a$id href=\"$link\">$text</a></li>\n";
}
(1)
$links = array();
foreach ($rows as $row) {
$links[] = mosGetMenuLink( $row, 0, $params );
}
$menuclass = 'mainlevel'. $params->get( 'class_sfx' );
if (count( $links )) {
switch ($style) {
case 1:
echo '<ul id="'. $menuclass .'">';
foreach ($links as $link) {
echo '<li>' . $link . '</li>';
}
echo '</ul>';
break;