Vis fejl side

Tags:    php

hej

jeg bruger denne funktion

<?
if(!$mode) {
$mode = 'main';
}
include($mode . '.php');
?>

men hvis man trykker ind og siden ikke findes skriver den dette

Warning: main(info.php): failed to open stream: No such file or directory in c:\\websrv\\apache\\htdocs\\enjoy_lir_dk\\design.php on line 87

Warning: main(): Failed opening 'info.php' for inclusion (include_path='.;c:\\php4\\pear') in c:\\websrv\\apache\\htdocs\\enjoy_lir_dk\\design.php on line 87

så tænkte kan man ikke lave så den skriver

Siden blev ikke fundet. Jeg har prøvet at gøre sådan

<?
if(!$mode) {
$mode = 'main';
}
include($mode . '.php');
} else {
echo "Siden blev ikke fundet";
}
?>
men det virker ikke. er det mig der laver helt ged i den eller er det bare en ligge fejl


<strong>På forhånd tak</strong>




6 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
Brug:

Fold kodeboks ind/udKode 


Det virker måske irriterende at skulle lave en ny if for hver ny side man tilføjer, men det er vigtigt at man gør det af sikkerhedshensyn.



Brug:

Fold kodeboks ind/udKode 


Det virker måske irriterende at skulle lave en ny if for hver ny side man tilføjer, men det er vigtigt at man gør det af sikkerhedshensyn.




Men hvis du ikke mener at det er nødvendigt, kan du bruge file_exists() til at undersøge om den givende side eksisterer.

if (file_exists ($mode . ".php") echo "Siden findes.";
else echo "Siden findes ikke";

så...
Fold kodeboks ind/udKode 


[Redigeret d. 25/08-05 22:28:39 af Simon Jensen]

[Redigeret d. 25/08-05 22:29:39 af Simon Jensen]



Der er noget galt med sidstnævnte kode ja.
Prøv istedet med:
Fold kodeboks ind/udKode 


Der var en "}" for meget.

Hvordan definerer du $mode? Er det via $_GET[]?



Hmm det virker ikke nu viser den bare "siden kan ikke vises" alle steder

hmm har lavet det om fra page til $mode stedet for http://enside.dk/?page=main så hedder den http://enside.dk/?mode=main



Nåå... Jamen det er også mig der har klokket i det.

Fold kodeboks ind/udKode 


Det må være noget i den retning istedet. Men hvorfor vil du sætte $mode = "main" konstant? Sådan som det står nu, vil $mode jo altid blive sat til "main" og ikke indholdet fra variablen i url'en.



Hmm virker heller ikke

http://enjoy.lir.dk

Hmm der kan du se hvad den gør

prøv at vælge produkter

hmm den viser bare samme side.

<?
if(!$mode) {
$mode = 'main';
}
include($mode . '.php');
?>

hvis du forstår

denne kode inkludere eksempel siden http//enjoy.lir.dk/main.php

så når man er på forsiden viser den main.php
og når man er i produkter viser den produkter.php
det er for at være fri for at rette designet i alle filer på inkludere jeg bare siderne ind i index.php

så den hedder http://enjoy.lir.dk/index.php?mode=main
eller http://enjoy.lir.dk/index.php?mode=produkter

men hvis du fx. tar http://enjoy.lir.dk/index.php?mode=info

laver den denne fejl

Warning: main(info.php): failed to open stream: No such file or directory in c:\\websrv\\apache\\htdocs\\enjoy_lir_dk\\design.php on line 87

Warning: main(): Failed opening 'info.php' for inclusion (include_path='.;c:\\php4\\pear') in c:\\websrv\\apache\\htdocs\\enjoy_lir_dk\\design.php on line 87

i stedet for den skriver det vil jeg have den til at skrive "siden findes ikke"


[Redigeret d. 25/08-05 18:51:01 af Andy Kolsbjerg]



t