Avatar billede Tony Juniormester
31. august 2003 - 17:49 Der er 13 kommentarer og
1 løsning

Indsætte include-fil i celle?

Fra frameteknologien kender vi de forskellige targets. Jeg har en synonym udfordring.

Jeg har en menu (includes/menu.php) hvor jeg ønsker at indholdet i index.php skifter i relation til hvilket link bruger har klikket på.

Jeg kan selvfølgelig lave en håndfuld kopier af index.php med hver sit indhold, men der må være en bedre og mere dynamisk metode.

Min index.php er en skabelon (tabel) der henter tre forskellige includes til head, menu og footer. Tabellen har en celle (name=”mainfield”).

Er det muligt at hente indholdet (en anden tabel med div. indhold) i f.eks. ’includes/resourcers.php’ ind i cellen ’mainfield’ i index.php via et hyperlink i ’includes/menu.php’?
Avatar billede sukos Juniormester
31. august 2003 - 17:53 #1
Hvordan linker du?
Avatar billede Tony Juniormester
31. august 2003 - 18:03 #2
med a href
Avatar billede sukos Juniormester
31. august 2003 - 18:20 #3
hmm, hvis du bruger en get:

menu.php:
<a href="<?php echo $_SERVER["PHP_SELF"]; ?>?menu=start1">Start 1</a><br>
<a href="<?php echo $_SERVER["PHP_SELF"]; ?>?menu=start2">Start 2</a><br>
<a href="<?php echo $_SERVER["PHP_SELF"]; ?>?menu=start3">Start 3</a>

Så linker du til den fil som includer menu.php
I den fil, kan så bruge:

<td><?php
if(isset($_GET["menu"])) {
    if(file_exists("fuld/sti/til/includes/". $_GET["menu"] ."php")) {
    include("fuld/sti/til/includes/". $_GET["menu"] ."php");
    }else{
    echo"Ups, en mindre fejl!";
    }
}else{
include(include("fuld/sti/til/includes/menu.php");
}
?></td>
Avatar billede sukos Juniormester
31. august 2003 - 18:21 #4
Når jeg skriver "fuld sti" er det hvis du includer fra et dir som ikke kan nås med http
Avatar billede sukos Juniormester
31. august 2003 - 18:22 #5
hmm, og kan du det, ville jeg bruge $_SERVER["DOCUMENT_ROOT"] til at teste om filen findes, inden en include.
Avatar billede Tony Juniormester
31. august 2003 - 19:17 #6
OK :)

Hmm, jeg har indsat følgende i index.php der hvor jeg havde 'includes/menu.php' før, men jeg kan desværre ikke se at den henter menuen:

<td width="265" align="left" valign="top" class="menuback"><?php
if(isset($_GET["menu"])) {
    if(file_exists("includes/". $_GET["menu"] ."php")) {
    include("includes/". $_GET["menu"] ."php");
    }else{
    echo"Ups, en mindre fejl!";
    }
}else{
include(include("includes/menu.php");
}
?></td>

index.php ligger i roden og biblioteket 'includes' ligger lige under. I 'includes' ligger 'menu.php', så stien skulle da vist være rigtig ?
Avatar billede Tony Juniormester
01. september 2003 - 08:47 #7
Nogen der har et bud på hvordan jeg kommer videre ?
Avatar billede sukos Juniormester
02. september 2003 - 16:42 #8
jahh, mig som skriver forkert!
Prøv:

<td width="265" align="left" valign="top" class="menuback"><?php
if(isset($_GET["menu"])) {
    if(file_exists("includes/". $_GET["menu"] ."php")) {
    include("includes/". $_GET["menu"] ."php");
    }else{
    echo"Ups, en mindre fejl!";
    }
}else{
include("includes/menu.php");
}
?></td>
Avatar billede Tony Juniormester
06. september 2003 - 16:23 #9
OK - nu henter den fint menuen, men jeg kan ikke rigtig få den til at hente de pågældende undersider med:

<a href="<?php echo $_SERVER["PHP_SELF"]; ?>?menu=start1">Start 1</a><br>

Jeg har feks.:

<a href="include/translate.php">Oversæt</a><br>

Skal jeg sifte din ?menu=start1 ud med ?menu=translate .... ??
Avatar billede sukos Juniormester
12. september 2003 - 11:50 #10
Har du fået løst det?
Den var som menu sættes til, er jo den fil som skal includes.
Så som du selv spørger, så er det den måde du skal gøre det på.
<a href="<?php echo $_SERVER["PHP_SELF"]; ?>?menu=translate">Overs&aelig;t</a><
Avatar billede Tony Juniormester
12. september 2003 - 11:53 #11
Nej jeg har ikke fået det løst.

Nej, den metode virker ikke ... heller ikke med ?menu=translate.php ...
Avatar billede sukos Juniormester
12. september 2003 - 13:34 #12
hmm, det skal jo ikke være det fulde navn, hvis vi går ud fra det jeg har skrevet, så skal det være uden .php
?menu=translate

Du kan jo osse fjerne tjekket for om filen findes, for at få fejlmeldingen.

<td width="265" align="left" valign="top" class="menuback"><?php
if(isset($_GET["menu"])) {
    include("includes/". $_GET["menu"] ."php");
}else{
include("includes/menu.php");
}
?></td>
Avatar billede Tony Juniormester
12. september 2003 - 15:03 #13
sukos >> Lig et svar, så skal du få dine velfortjente point!
Avatar billede sukos Juniormester
15. september 2003 - 12:31 #14
OK, :O)
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