Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[PHP] Include script werkt niet op mijn Apache server

Flameon
10 antwoorden
  • Hey, ik heb een probleem ik heb dit script gemaakt:

    [code:1:035da5a951]<?php if(empty($pagina)) {
    include("nieuws.php");
    }
    else {
    include("$pagina.php");
    }
    ?>[/code:1:035da5a951]

    Deze werkt opzich prima alleen niet op mijn server. Ik zie bij de index gewoon de index met nieuws.php geincluded. Maar als ik een andere pagina wil open met index.php?pagina=test werkt dat niet terwijl het wel op bv lycos werkt. Ik blijf dan de index met nieuws zien, hoe kan dit? Wat moet ik veranderen aan de server instellingen om het wel te laten werken? Btw mijn server adres is http://80.60.188.213
  • heb je de variabele wel ingevuld?
  • Ja, index.php?pagina=test in de adresbalk. Het script werkt gewoon, alleen php op mijn server moet iets veranderd worden maar ik weet niet wat ik moet veranderen om dit goed te krijgen :o
  • laat me raden; je hebt php 4.2.2?

    probeer eens: $_GET['pagina']

    t.
  • Werkt niet?!? Ik krijg nu de error
    [code:1:931cd66b51]Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\Program Files\Apache Group\Apache2\htdocs\index.php on line 12
    [/code:1:931cd66b51]

    Wat klopt er dus niet aan dit script ^.^

    [code:1:931cd66b51]<?

    if($_GET[‘pagina’] == "") {
    include("nieuws.php");
    }
    else {
    if(file_exists($_GET[‘pagina’]".php")) {
    include($_GET[‘pagina’]".php");
    }
    else {
    include("error/404.html");
    }
    }

    ?>[/code:1:931cd66b51]
  • move to.

    t.
  • [code:1:fca00305dd]<?php

    if(!empty($_GET['page'])){
    if(file_exists("content/".$_GET['page'].".php"){
    $include = "content/".$_GET['page'].".php";
    }else{
    header("HTTP/1.1 404 Not Found");
    }
    }else{
    $include = "content/home.php";
    }

    ?>
    <html>
    <head />
    <body>

    <?php include($include); ?>
    </body>
    </html>[/code:1:fca00305dd]Zoiets moet werken en is een redelijk veilige methode (geloof ik). Je zou er voor de zekerheid nog wat pref_replace's boven kunnen zetten e.d. maar dat lijkt me onnodig.

    -termin8or
  • [quote:dc8f58a082="Flameon"]Hey, ik heb een probleem ik heb dit script gemaakt:

    [code:1:dc8f58a082]<?php if(empty($pagina)) {
    include("nieuws.php");
    }
    else {
    include("$pagina.php");
    }
    ?>[/code:1:dc8f58a082]

    [/quote:dc8f58a082]

    include("$pagina.php");
    Lijkt me niet te kloppen, met een . plak je twee string achter elkaar.
    volgens mij moet je "$pagina.".php doen.
  • Lees eerst even de gehele post door ;) inclusief alle reacties. In de eerste post zei hij dat dat script ook heeft gewerkt, waarschijnlijk gewoon een kleine typo gemaakt tijdens het overtypen oid.
  • Toch heeft natuurlijk wel gelijk, lees pagina 5 van Performance Optimalisatie in PHP (met dank aan Bill). Het moet overigens zijn:[code:1:8eb4b213b8]include($pagina.".php");[/code:1:8eb4b213b8]De variabelen moeten buiten de aanhalingstekens worden gehaald.

    - Bas

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.