Avatar billede kappel Nybegynder
01. december 2003 - 21:35 Der er 21 kommentarer og
2 løsninger

Bruge .PHP sammen med .htm, ved menu opbygning

Hvordan skriver jeg følgende:

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

Sådan at det ikke kun er .htm filer der kan anvendes men også .PHP

Jeg bruger til menu opsætning, hvis der er nogle har erfaringer med det, må i gerne skrive possitive og negative ting.

/kappel
Avatar billede ztyxx Nybegynder
01. december 2003 - 21:38 #1
du kan ikke include i html filer sådan uden videre, men i php kan du include html filer
include("fil.html");
Avatar billede kappel Nybegynder
01. december 2003 - 21:40 #2
Først em lille fejl...
Jeg bruger OVENSTÅENDE til min menu opsætning, hvis der er nogle har erfaringer med det, må i gerne skrive possitive og negative ting.
Avatar billede kappel Nybegynder
01. december 2003 - 21:43 #3
->ztyxx
Det drejer sig om menu.php, her vil jeg gerne have mulighed for f.eks. at lave følgende henvisning:
<a href="http://eif.kappels.net/menu.php?menu=gaestebog">...</a>

Hvor så "gaestebog" skal kunne være en .php eller .htm fil - hvis du forstår.

Kommer lige i tanke om noget, jeg kan jo bare navngive de .htm som php - nå det prøver jeg lige...
Avatar billede ztyxx Nybegynder
01. december 2003 - 21:54 #4
du kan bruge noget i stil med denne:

<?php

$page = $_GET["page"];

switch($page) {
    case  hejsa;
    include('gbog.php');
        break;
    case daw;
    include('enfil.html');
        break;

}

?>
<br>
<a href="<? echo $_SERVER["PHP_SELF"];?>?page=hejsa">Hejsa</a><br>
<a href="<? echo $_SERVER["PHP_SELF"];?>?page=daw">Daw</a>
Avatar billede sukos Juniormester
01. december 2003 - 21:58 #5
Her er lige en som engang har ligget på sukos.dk, som kan omdøbe filer til hvad du måtte ønske: :O)

<?php
$sti = dirname($_SERVER["DOCUMENT_ROOT"] . $_SERVER["PHP_SELF"]) ."/rename/"; //Filer ligger i "rename" dir

if(isset($_POST["rename"]) && trim($_POST["rename"]) != "") {

$filen = array();
$filnavne = array();

$dir = opendir($sti);

while (false !== ($files = readdir($dir))) {
    if($files == "." || $files == "..") {
continue;
}

$ext = pathinfo($files);

    $filen[] = $files;
    $filnavne[] = basename($files, $ext["extension"]);

}
closedir($dir);

sort($filen);
sort($filnavne);

for($i = 0; $i < count($filen); $i++) {

rename($sti . $filen[$i], $sti . $filnavne[$i] . $_POST["rename"]);
    }

header("Location:". $_SERVER["PHP_SELF"] ."");
exit();
}

$html = array();

$path = opendir($sti);

while (false !== ($files = readdir($path))) {
    if($files == "." || $files == ".." || $files == "index.php") {
continue;
    }
    $html[] = $files;
}

closedir($path);

sort($html);

?>
<html><head><title>Omd&oslash;bning af filnavne</title></head>
<body>
<center>
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">

<b>Flg. filer ligger i "rename"-dir'et:</b><br>
<?php
foreach($html as $old) {
echo $old ."<br>\n";
}
?>
<br><br>
<b>Skriv filtypen de skal omd&oslash;bes til:</b><br>
<input type="text" name="rename">
<input type="submit" value="Omd&oslash;b">
</form>
<p>
http://www.eksperten.dk/spm/374739
</p>
</center>
</body></html>
Avatar billede kappel Nybegynder
01. december 2003 - 22:32 #6
-> sukos
Det er ikke det jeg er ude efter - ellers tak for kommentaren
/kappel
Avatar billede kappel Nybegynder
01. december 2003 - 22:34 #7
->ztyxx
Jeg tror ikke jeg forstår dit forslag.

Hvor skal det stå det du skriver.
Avatar billede sukos Juniormester
01. december 2003 - 22:36 #8
Næh, har du jo ret i! :O)

styxx's forslag er jo "lige ud af landevejen", d.v.s. hvis $_GET["page"] er sat, så skiftes der mellem hvilken fil som skal includes
Avatar billede kappel Nybegynder
01. december 2003 - 22:40 #9
Mangler lige en lille forklaring på $_GET["page"]

Set i forhold til:
<?php include("menu/".$_GET[menu].".htm");?>
og
<a href="http://eif.kappels.net/menu.php?menu=gaestebog">...</a>
Avatar billede sukos Juniormester
01. december 2003 - 22:43 #10
Den her:
<?php include("menu/".$_GET[menu].".htm");?>

Holder den?
Skal vel være:

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

Men styxx's forslag, includer alt efter hvad $_GET["menu"] (page) måtte være.
Avatar billede ztyxx Nybegynder
01. december 2003 - 22:45 #11
php-delen sætter du der hvor du vil have inkluderet filerne, lins i menuen...
Avatar billede gonza.dk Nybegynder
01. december 2003 - 22:46 #12
Jeg bruger følgende:

jeg bruger følgende:

//tjekker om $menu er sat
if ($menu != NULL){

//laver stien til filen der er defineret i $menu
$menu_file    = 'sider/'.$menu.'.php';

    //Tjekker om filen eksisterer
    if (file_exists($menu_file)) {
        include($menu_file);

    //Hvis filen ikke eksisterer inkluderes en fejlside:
    } else {
        include('sider/fejl.php');
    }
}

//Hvis $menu ikke er sat, inkluderes sider/1.php
else {
include('sider/start.php');
}


spørg endelig til den, hvis der er noget, har lige givet den et par kommentarer ;o)
Avatar billede kappel Nybegynder
01. december 2003 - 22:59 #13
-> gonza - Det er sådan noget jeg leder efter.
Kan det ikke godt passe, at der manglede <?php i starten?

Jeg har prøvet at indsætte det på min menu.php side.
og kalder med et link følgende side:
http://eif.kappels.net/menu.php?menu=gaestebog"
Men der opstår fejl som du kan se på siden og linje 46 indeholder </div>  så der må være et eller andet jeg misforstår.
/kappel
Avatar billede gonza.dk Nybegynder
01. december 2003 - 23:02 #14
jo, du skal have <?php i starten og slutte af med ?>

<?php
$menu = $_GET['menu'];

//tjekker om $menu er sat
if ($menu != NULL){

//laver stien til filen der er defineret i $menu
$menu_file    = 'sider/'.$menu.'.php';

    //Tjekker om filen eksisterer
    if (file_exists($menu_file)) {
        include($menu_file);

    //Hvis filen ikke eksisterer inkluderes en fejlside:
    } else {
        include('sider/fejl.php');
    }
}

//Hvis $menu ikke er sat, inkluderes sider/1.php
else {
include('sider/start.php');
}
?>


hvad er linjerne omkring linje 46?
Avatar billede gonza.dk Nybegynder
01. december 2003 - 23:04 #15
tror din fejl er, at du har glemt at "afslutte php" med ?>

derfor læser serveren din html-kode som php-kode... og så går det jo selvsagt galt ;o)
Avatar billede kappel Nybegynder
01. december 2003 - 23:09 #16
ok - nu er der ihvertfald hul igennem.
men!
1. tjek lige http://eif.kappels.net/menu.php?menu=gaestebog igen, den melder fejl når jeg inkludere gaestebog.php´
gaestebog.php ser således ud:

...............................................................................
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<center><h2>Super 6's Gæstebog</h2>
  </center>
  <?php
  include '../form.html';
?> 

<br />
<br />
<br />
<br />

<?php
  include '../gbog/visbog.php';
?> 

</body>
</html>
..............................................................................

2. Hvad plejer du at have på start.php og ihvilken forbindelse er det smart at bruge 1.php
Avatar billede gonza.dk Nybegynder
01. december 2003 - 23:14 #17
include '../form.html';

include '../gbog/visbog.php';


det er den forkerte sti? stien skal fungerer, som hvis du kaldte den direkte fra menu.php (forstod du noget af det?)

jeg bruger tal til mine sider... dette gør, at hvis jeg foreksempel har nogle sider der hører sammen og skal have noget specielt (f.eks. en anden baggrund), ja, så laver man et simpelt script der aflæser om tallet ($menu) er mellem f-eks 40 og 56. Hvis det er det, så viser scriptet så den baggrund ;o)

Det synes jeg er lidt nemmere... Men ellers kan jeg ikke lige se nogen fordel. Der kan jo også være fordele ved at kalde filerne navne istedet for tal. Det er hvad man helst selv vil...
Avatar billede gonza.dk Nybegynder
01. december 2003 - 23:16 #18
"include '../form.html';

include '../gbog/visbog.php';


det er den forkerte sti? stien skal fungerer, som hvis du kaldte den direkte fra menu.php (forstod du noget af det?)"

---> prøv at fjern '../'
Avatar billede kappel Nybegynder
01. december 2003 - 23:20 #19
jeg tror vist jeg må til at i seng, jeg mente 100% det var stien har tjekket det flere gange - hihi

Jeg kigger lidt mere på imorgen
/kappel
Avatar billede ztyxx Nybegynder
19. december 2003 - 16:37 #20
lukketid??
Avatar billede kappel Nybegynder
10. januar 2004 - 19:50 #21
-> gonza
Godt nok lang tid siden jeg har haft tid til at kigge på hjemmesider, men jeg har lige et spørgsmål som jeg håber du hjælpe med. Det er ang. dit menuforslag - se her: http://eif.kappels.net/index.php?menu=gaestebog

index.php ser sådan ud:
<?php
//tjekker om $menu er sat
if ($menu != NULL){

//laver stien til filen der er defineret i $menu
$menu_file    = 'sider/'.$menu.'.php';

    //Tjekker om filen eksisterer
    if (file_exists($menu_file)) {
        include($menu_file);

    //Hvis filen ikke eksisterer inkluderes en fejlside:
    } else {
        include('sider/fejl.php');
    }
}

//Hvis $menu ikke er sat, inkluderes sider/news.php
else {
include('news/index.php');
}
?>

fejl.php ligger i sider og det gør gaestebog.php også, hvad kan der være galt?

Hvis det kræver flere point end dette, åbner jeg gerne et nyt, jeg vil bare have dette lukket.

/kappel
Avatar billede gonza.dk Nybegynder
15. januar 2004 - 19:26 #22
Scriptet viser kun fejl.php hvis selve 'hovedsiden' altså gaestebog.php ikke findes. Det går ikke ind og tjekker om 'gbog/form.html' og 'gbog/visbog.php' findes (du includerer dem sikkert i koden til gaestebog.php

Tilfældet er, at de to sider ikke ligger hvor du har angivet at de skal ligge. Husk på at når du bruger include() ¨så skal stien angives udfra den side som du inkluderer fra.

håber det var forståeligt

mvh.
Gonza
Avatar billede kappel Nybegynder
12. februar 2004 - 14:44 #23
-> gonza.dk
Du skal have point - undskyld

Kig evt. her http://www.eksperten.dk/spm/464430

Mvh Mikkel
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