Avatar billede mathiash Nybegynder
29. marts 2003 - 12:17 Der er 11 kommentarer og
4 løsninger

?side=kontakt.php hvordan???

Hej.
Hvordan laver man ligesom
http://www.chokobear.frip.dk/ og http://www.1go.dk

Hvor de kører med en slags frames, hvordan gør man det???
Avatar billede mathiash Nybegynder
29. marts 2003 - 12:24 #1
Skriv hvis i ikke fortsår mit spørgsmål.
Avatar billede leif Seniormester
29. marts 2003 - 12:27 #2
Det Chokobear har gjort er at lave en side hvor de inkluderer en anden side afhængig af hvad der står i variablen.

Du kan kigge på include ( http://www.php.net/manual/en/function.include.php )
Avatar billede xtr0 Nybegynder
29. marts 2003 - 12:32 #3
Du skal undgå at gøre ligesom Chokobear af sikkerheds grunde.


Du kan derimod gøre dette:
index.php alle filder i èn fil
<?php
if($_GET[side] == '') {
echo"Forside og html";
}
if($_GET[side] == 'kontakt') {
#Kontakt siden her kan du enten smide html/php koden eller include

#include('kontakt.php');

echo"HTML";
}
?>
Avatar billede xtr0 Nybegynder
29. marts 2003 - 12:32 #4
Det skulle have været et svar
Avatar billede mathiash Nybegynder
29. marts 2003 - 12:34 #5
ok, men er det ikke noget **** når man skal ændre en lille ting i f.eks. menuen ???
Avatar billede postndk Nybegynder
29. marts 2003 - 12:39 #6
eller :

switch ($_GET[side]) {
case "forside":
include("index.php");
break;
case "kontakt":
include ("kontakt.php");
break;
default:
include("index.php");
break;
}
Avatar billede francodavid Nybegynder
29. marts 2003 - 13:04 #7
Plejer at bruge denne:
<?if (file_exists("Sider/$side.INC"))
{include("Sider/$side.INC");}
else {
?><?=$side;?> ikke fundet.<?}?>

Så kalder du dine side med index.phtml?side=forside så bliver Sider/forside.INC kaldt og kun sider der ligger i biblioteket Sider med endelsen INC kan kaldes.
Avatar billede xyborx Nybegynder
31. marts 2003 - 10:06 #8
francovid: Og hvad så hvis jeg skriver '?side=../index'? Så hopper den ud af 'Sider'.. Men den kan dogstadig kun hente .INC filer.

Mit forslag:
$side=str_replace(array('\\','/','.'),'',$_GET['side']);
$side_fil='./mine_sider/'.$side;
if(!is_file($side_fil))
{
    header('Status: 404 Not Found');
    echo 'Siden '.htmlentities($side).' findes ikke';
}
elseif(!@include($side_fil))
{
    header('Status: 500 Internal Server Error');
    echo 'Siden '.htmlentities($side).' indeholder programmeringsfejl';
}
else
{
    // Success: Her kunne man fx logge besøget
}
Avatar billede francodavid Nybegynder
31. marts 2003 - 10:29 #9
xyborx -> Kan ske, men hvor meget har du i *.INC filer?
Avatar billede xyborx Nybegynder
31. marts 2003 - 12:52 #10
francovid -> kan godt se hvad du mener. Jeg har ikke ret meget i .inc filer, men jeg foretrækker stadig at øge sikkerheden, frem for at nedsætte den. I det her tilfælde ville det jo ikke begrænse den normale bruger - kun crackere/hackere.
Avatar billede xtr0 Nybegynder
07. april 2003 - 15:08 #11
Point tid?
Avatar billede simm Nybegynder
09. april 2003 - 19:19 #12
xyborx - Hvis du vil "øge sikkerheden" som du selv skriver, så er det vist ikke så godt at du kalder dine includefiler for .inc - kald dem .php i stedet for :) (medmindre du har sat din webserver op, så den parser .inc-filer som php.. så kan det vel være ligemeget)
Avatar billede francodavid Nybegynder
09. april 2003 - 22:02 #13
Eller hvis det er en FreeBSD bliver de blokeret.... nok derfor jeg vil kalde dem .inc, for alle seriøse servere bruger da FreeBSD.
Avatar billede postndk Nybegynder
10. april 2003 - 14:47 #14
Hvorfor bliver de blokeret hvis det er en *bsd ?
Avatar billede francodavid Nybegynder
10. april 2003 - 17:57 #15
Fordi at webserveren pr default ikke har adgang til .inc filer i bsd.
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