Avatar billede kappel Nybegynder
18. august 2003 - 10:47 Der er 18 kommentarer og
1 løsning

Et spørgsmål til de rigtige eksperter

Hej
Jeg er ved at en HP for vores fodboldhold. Jeg har lavet en præsentation af x antal spiller og gemt dem som f.eks. 1.htm, 2.htm, 3.htm osv. I min menu har jeg listet spillerne med et link som jeg gerne vil have henviser til 1, 2, 3 osv.

Mit layout er lavet i CSS, med et eksternt style sheet, der ser således ud:
#leftmenu {
    position:absolute;
    left:5%;
    top:81px;
    width:11%;   
}
#content {
    padding-top:100px;
    margin-left:17%;
    margin-right:21%;
}

Mit index.php (som er min hovedside for layout)ser således ud, hvor der bliver inkluderet 1.htm i content og vmenu.htm (som er min menu) i leftmenu

<div id="content">
<?php include("1.htm");?>
</div>

<div id="leftmenu">
<?php include("vmenu.htm");?>
</div>

Mit spørgsmål er så, hvordan man kan skrive index.php, sådan at afhængig af hvilken spiller man trykker på i menuen inkluderes der lige præcis den spiller som man har valgt i menuen.

Håber i forstår. Evt kan i se på http://fc-ellidshoej.kappels.net

Mvh Mikkel
Avatar billede riversen Nybegynder
18. august 2003 - 10:49 #1
du bliver nok nødt til fx

http://fc-ellidshoej.kappels.net/?spillerId=spiller1

hvor du så henter fra en database eller inkluderer alt efter hvad der er bedst for dig.
Avatar billede exp Juniormester
18. august 2003 - 10:50 #2
Det kan gøres nemmere med en database... har du mulighed for det?

Eller er det noget med at du laver links a la index.php?player=1

og med en switch-sætnin inkluderer du så den pågældende htm-side
Avatar billede kappel Nybegynder
18. august 2003 - 10:50 #3
Det er sådan noget jeg tænker på, ved bare ikke hvordan jeg skal gribe det an?
Avatar billede kappel Nybegynder
18. august 2003 - 10:51 #4
Jeg har mulighed for database
Avatar billede exp Juniormester
18. august 2003 - 10:52 #5
Så laver du en tabel med alle spillerne, der indeholder alle de data du vil vise, og så kalder du dataene via klik på link
Avatar billede the_saint Nybegynder
18. august 2003 - 11:52 #6
<div id="content">
<?php include($get_[spiller].".htm");?>
</div>

<div id="leftmenu">
<?php include("vmenu.htm");?>
</div>
og så linker du bare til ?spiller=1 ?spiller=2 osv
Avatar billede kappel Nybegynder
18. august 2003 - 11:53 #7
Okay. Men hvordan får man truppen.php til at inkludere lige netop den fil (spiller) som der trykkes på i linket??
Avatar billede the_saint Nybegynder
18. august 2003 - 12:04 #8
altså... hvordan er din side bygget op ? frames? iframes? tables? divs ?

Sådan som jeg plejer at bygge sider op er ved at lave en top.php og bund.php og inkludere de 2 sider på alle de sider jeg laver.
Avatar billede exp Juniormester
18. august 2003 - 12:06 #9
en ide kune være at lave et check på om player (eller spillerID eller hvad du nu kalder den) er ast. såfremt den er det (og den ikke er tom, kaldes alle data fra databasen og udskrives på skærmen...
Avatar billede the_saint Nybegynder
18. august 2003 - 12:15 #10
hvorfor bruge database når han har lavet det hele ? ved godt database er mere flexible...

hvorfor ikke bare inkludere den html side ?
Avatar billede kappel Nybegynder
18. august 2003 - 12:29 #11
-> the saint
Jeg prøver lige
Avatar billede kappel Nybegynder
18. august 2003 - 12:47 #12
Jeg har skrevet
<div id="content"> <?php include($get_[spiller].".htm");?>
</div>
<div id="leftmenu"> <?php include("vmenu.htm");?>
</div>
som jeg kalder truppen.php
Den ligger: http://fc-ellidshoej.kappels.net/truppen.php
1.htm og 2.htm ligger der ligeledes

Men der meldes om fejl:

Warning: Unable to access .htm in /customers/kappels.net/kappels.net/httpd.www/fc-ellidshoej/truppen.php on line 18

Warning: Failed opening '.htm' for inclusion (include_path='.:/usr/share/pear:/usr/share/php/PEAR') in /customers/kappels.net/kappels.net/httpd.www/fc-ellidshoej/truppen.php on line 18

Linie 18 er:
<?php include($get_[spiller].".htm");?>

Linket ser således ud i vmenu.htm:

<a href="http://fc-ellidshoej.kappels.net/truppen.php?spiller=1">Peter Lind Bak</a><br>
Avatar billede the_saint Nybegynder
18. august 2003 - 14:13 #13
argh
min fejl.. det er $_GET[spiller]
Avatar billede sukos Juniormester
18. august 2003 - 16:04 #14
Ville nok gøre det så'n her:

<?php
if(isset($_GET["spiller"])) {
if(file_exists(dirname($_SERVER["DOCUMENT_ROOT"] . $_SERVER["PHP_SELF"]) ."/". $_GET["spiller"] .".htm")) {
include(dirname($_SERVER["DOCUMENT_ROOT"] . $_SERVER["PHP_SELF"]) ."/". $_GET["spiller"] .".htm");
    }else{
    echo"Spiller-id'et findes desværre ikke!";
    }
clearstatcache();
}
?>

for ikke at få fejlmeldinger på siden.
Avatar billede kappel Nybegynder
19. august 2003 - 16:00 #15
-> sukos
Det virker ikke, den melder altid fejl om at der ikke findes et spiller id..
Avatar billede kappel Nybegynder
19. august 2003 - 16:02 #16
-> the saint
Hvordan tager jeg .htm filerne fra mappen truppen i stedet for roden somm her:

<?php include($_GET[spiller].".htm");?>

rod
/truppen
??

håber du forstår
Avatar billede exp Juniormester
19. august 2003 - 23:15 #17
<?php include("/truppen/".$_GET[spiller].".htm");?>
Avatar billede sukos Juniormester
20. august 2003 - 06:16 #18
kappel -> Det er jo så fordi htm-filen ikke ligger i samme dir som PHP-filen.
Eller måske fordi PHP-ver. er mindre end 4.1.0?
Så skal det HTTP_GET_VARS og HTTP_SERVER_VARS
<?php
if(isset($_GET["spiller"])) {
if(file_exists($_SERVER["DOCUMENT_ROOT"] ."/truppen/". $_GET["spiller"] .".htm")) {
include($_SERVER["DOCUMENT_ROOT"] ."/truppen/". $_GET["spiller"] .".htm");
    }else{
    echo"Spiller-id'et findes desværre ikke!";
    }
clearstatcache();
}
?>
Avatar billede kappel Nybegynder
27. august 2003 - 09:22 #19
øh
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