PDA

Bekijk Volledige Versie : [PHP] script voert require niet uit als geen variable in URI meegegeven



Juliette
08/03/04, 10:45
Dag allemaal,

Ik ben de zoveelste newbie die maar aan het vragen slaat ;-)
Heb me de halve nacht rotgezocht op het net naar een oplossing maar kom
er niet uit...

Lokaal (Windows installatie van Apache/PHP) werkt alles ok.
Op de server werkt het aanroepen van het script met
www.***.nl/index.php?id=page1 etc goed, maar wat niet werkt is om
www.***.nl/index.php te doen en dan het home.php bestand binnen gehaald
te krijgen. index.php?id=home werkt wel.
Met behulp van de "print"'s onderaan het scriptje kan ik zien dat $id
wel naar "home" gezet wordt en dat ook $fileid goed staat...

Ik weet niet meer wat ik nog meer kan uitproberen. Heb me helemaal blind
gestaard.

Suggesties (en/of oplossingen !) zijn heel erg welkom.

Alvast bedankt, Juliette



<?php
$id = $HTTP_GET_VARS["id"];
$page_names = array ("home","page1", "page2", "page3");

if (empty($HTTP_GET_VARS["id"])) {
$id = "home";
$fileid = "/paginas/$id.php";
require($_SERVER['DOCUMENT_ROOT'].$fileid);
} elseif (in_array($id, $page_names)) {
$fileid = "/paginas/$id.php";
require($_SERVER['DOCUMENT_ROOT'].$fileid);
} else {
//redirect naar errorhandling cgi script
header("Location: http://www.****.nl/$id");
exit;
}

//onderstaande twee statements puur voor het testen
print $id;
print $fileid;
// require had ik eerst hier staan, toen via bovenstaande manier
geprobeerd, geen van beide werkt als er geen id in de URI staat.
// require($_SERVER['DOCUMENT_ROOT'].$fileid);
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML LANG="nl">

<HEAD>
etc etc etc

Jaap-Andre de Hoop
08/03/04, 11:25
In article <404C3FB7.5B094347@jokeaday.net>, Juliette <"jrf[spamblock]"@jokeaday.net> wrote:
>Dag allemaal,
>Op de server werkt het aanroepen van het script met
>www.***.nl/index.php?id=page1 etc goed, maar wat niet werkt is om
>www.***.nl/index.php te doen en dan het home.php bestand binnen gehaald
>te krijgen. index.php?id=home werkt wel.

Vaag, ik zie zo een twee drie ook niet wat het probleem zou zijn, wat voor
een foutmeldingen krijg je. Heb twee andere opmerkingen:

> $id = $HTTP_GET_VARS["id"];

Beter ken je hier $_GET gebruiken zie (http://nl.php.net/reserved.variables)

> require($_SERVER['DOCUMENT_ROOT'].$fileid);
[knip]
>?>
>
><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
><HTML LANG="nl">
>
><HEAD>
>etc etc etc

je opent een pagina, met daarin wrs output genereert en vervolgens maak je de
header van html aan. Lijkt me niet te kloppen.