Avatar billede leif Seniormester
18. december 2003 - 22:49 Der er 9 kommentarer og
1 løsning

Skift af server

Hej,

Efter et skift af server virker min include script ikke mere !!!

Det ser ud som følgende:
<?PHP
if(isset($page)){
    include("$page.php");
}else{
    include("forside.php");
}
?>

Hvad er der galt ???

Samt min menu, som brugte $HTTP_HOST virker heller ikke mere. Jeg går fra PHP version 4.1.2 til 4.3.4 er der virkelig så meget forskel på disse 2 ???

Fra
Leif
Avatar billede ztyxx Nybegynder
18. december 2003 - 22:55 #1
<?PHP
if(isset($_GET["page"])){
    include($_GET["page"]);
}else{
    include("forside.php");
}
?>
Avatar billede leif Seniormester
18. december 2003 - 23:00 #2
Den tager ikke .php med i den første include !!!

Dvs. den includer siden forside i stedet for forside.php
Avatar billede leif Seniormester
18. december 2003 - 23:04 #3
Den kommer med:
Warning: main(forside): failed to open stream: No such file or directory in /xxx/xxx/xxx/index.php on line 44

Warning: main(): Failed opening 'forside' for inclusion (include_path='.:/usr/share/php') in /xxx/xxx/xxx/index.php on line 44
Avatar billede Slettet bruger
19. december 2003 - 00:20 #4
<?PHP
if(isset($_GET["page"])){
    include($_GET["page"] . '.php');
}else{
    include("forside.php");
}
?>
Avatar billede sukos Juniormester
20. december 2003 - 08:00 #5
Du skal osse lige tjekke at det er den rigtige fil du får includet.
så er du sikker på det IKKE er en "ond fil" fra en anden server.
Evt. så læg includefiler i en mappe som ikke kan nås med http
<?php
$fildir = "/fuld/sti/til/dir/";

if(isset($_GET["page"]) && file_exists($fildir . $_GET["page"] .".php"){
    include($_GET["page"] .".php");
}else{
    include($fildir ."forside.php");
}
?>

http://www.showsource.dk/artikler/vis_artikel.php?id=1043169805
Avatar billede sukos Juniormester
20. december 2003 - 08:03 #6
$HTTP_HOST skal være $_SERVER["HTTP_HOST"]

Hvis du er så heldig at du kan bruge .htaccess, kan du bruge

php_flag register_globals 1

så du ikke behøver at bruge f.eks. $_SERVER["HTTP_HOST"] men kan nøjes med $HTTP_HOST
Avatar billede sukos Juniormester
20. december 2003 - 08:03 #7
Skulle være et svar!
Avatar billede Slettet bruger
20. december 2003 - 15:21 #8
Sukos: NEJ!

Man forfalder utrolig let til usikker programmering, når register_globals er slået til. Det er derfor, de har slået den fra i nyere udgaver. Men bortset fra, at det ikke kan anbefales at gøre det, var det naturligvis korrekt, det du sagde.
Avatar billede leif Seniormester
03. januar 2004 - 15:45 #9
sandbox -> Vil du ligge et svar, så vi kan lukke ???
Avatar billede Slettet bruger
03. januar 2004 - 16:52 #10
OK

Du skulle dog ikke have afvist sukos fuldstændig. Det var kun hans forslag om at slå register_globals til, der var noget galt med.
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