Avatar billede cooksie Nybegynder
27. august 2004 - 23:42 Der er 6 kommentarer og
1 løsning

Ændring af indhold i css-class.

Jeg arbejder på en side hvor jeg har 3 css-"kasser". Titel/overskrift vindue i toppen, en menu til venstre og selve hjemmesiden til højre, som lidt kortfattet er kodet sådan:

CSS-filen:
div.title
{
...
}
div.main
{
...
}
div.mainMenu
{
...
}

HTML/PHP-filen:
<div class="title">
...
</div>
<div class="mainMenu">
diverse links
</div>
<div class="main">
...
</div>

Nu er mit problem, at jeg gerne vil kunne klikke på et link i mainMenu, som så ændrer indholdet i main vinduet.

Jeg har spurgt i html-afdelingen, hvor der er blevet foreslået iframes, men det fungerer ikke optimalt.
Avatar billede rune.osterdal.com Nybegynder
28. august 2004 - 00:05 #1
Du skal lave en menu hvor menupunkterne linker til for eksempel index.php?link=fakta.

øverst i din index.php:

if ($HTTP_GET_VARS["link"]){
    $link = $HTTP_GET_VARS["link"];
} else {
    $link = "frontpage";
}
hvor du altså henter variablen link fra adresselinien eller hvis den ikke er der, sætter du i stedet $link til "frontpage".

efter
<div class="main">
skriver du:
require $link.".php";

så har du altså for eksempel to filer frontpage.php og fakta.php og den angivne fil bliver så hentet ind i <div class="main">

Rimelig simpelt når man ved hvordan, og ganske effektivt. ;-)
Avatar billede rune.osterdal.com Nybegynder
28. august 2004 - 00:09 #2
for lige at udpensle det:

<?php
if ($HTTP_GET_VARS["link"]){
    $link = $HTTP_GET_VARS["link"];
} else {
    $link = "frontpage";
}
?>
<div class="title">
...
</div>
<div class="mainMenu">
<a href="index.php?link=frontpage">Forsiden</a><br />
<a href="index.php?link=fakta">Fakta</a>
</div>
<div class="main">
<?php
require $link.".php";
?>
</div>
Avatar billede cooksie Nybegynder
28. august 2004 - 01:02 #3
Det jeg er på jagt efter er mere præcist et system der kun indlæser den php/html fil der er i <div class="main">. Grunden er at jeg er ved at lave et lukket system hvor man kun har adgang vha det rigtige password og login.
Men hvis jeg benytter ovenstående, mister jeg verificeringen af pass/login, da alle data umiddelbart går tabt ved indlæsningen af index.php via <a href="index.php?link=...">
Avatar billede rune.osterdal.com Nybegynder
28. august 2004 - 01:17 #4
hvilke data går tabt? i forbindelse med at bruger logges på gemmes hans navn vel i en sessions-variabel?
Avatar billede rune.osterdal.com Nybegynder
28. august 2004 - 01:31 #5
<?php
if ($HTTP_GET_VARS["link"]){
    $link = $HTTP_GET_VARS["link"];
} else {
    $link = "frontpage";
}
?>
<div class="title">
...
</div>
<div class="mainMenu">
<a href="index.php?link=frontpage">Forsiden</a><br />
<?php
if ($_SESSION[username]){ //nu vises faktalink kun hvis sessions-variabel eksissterer.
print "<a href=\"index.php?link=fakta\">Fakta</a>";
}
?>
</div>
<div class="main">
<?php
require $link.".php";
?>
</div>

Der skal naturligvis også laves en kontrol i selve fakta.php, da man ellers bare vil kunne skrive adressen www.domain.com/index.php?link=fakta direkte for at få adgang.
Men med ovenstående undgår du altså at fakta linket vises hvis ingen bruger er logget ind.
Der findes en udmærket artikel om sessions-variabler herinde, hvis du er ny på dette område.
Avatar billede rune.osterdal.com Nybegynder
28. august 2004 - 01:33 #6
hov. du skal jo naturligvis huske
session_start();
i starten af index.php, men det enten ved du eller finder ud af ved at læse
http://www.eksperten.dk/artikler/216
Avatar billede cooksie Nybegynder
28. august 2004 - 19:25 #7
Hmm, havde faktisk ikke rodet med sessions, ved ikke hvad jeg tænkte på ! Jeg kendte selvfølgelig heller ikke til dem, så det var nok det ;-)
Men det hjalp en del med sessions, som faktisk løste problemet, så der falder self lidt point af for det, og så skal du have mange tak for hjælpen!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester