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

Dot-cpu
12 antwoorden
  • ik heb een website met artikelen, deze artikelen worden geinclude op de index pagina. nu wil ik dat als mensen de directe link naar het php bestand(dus niet ?id=blabla maar bestand.php) openen, ze dan doorgelinkd worden naar de index pagina, met dit bestand geinclude…
  • dus?

    wat is nou je vraag, en wat heb je zelf al geprobeerd?

    t.
  • ik dacht dat het gewoon automatisch ging door met tabellen te werken, maar dit blijkt niet zo te zijn, ik dacht eerst aan de functie require(), maar dit lukte ook niet, nu was mijn hoop op jullie gevestigd…
  • Onderstaande moet je wel een eind op weg helpen denk ik.

    Kijk in [i:234f3952a9]bestand.php[/i:234f3952a9] of de $_SERVER["SCRIPT_NAME"] gelijk is aan cq. eindigt op [i:234f3952a9]index.php[/i:234f3952a9].

    Zo ja, dan is de pagina aangeroepen via de index pagina.
    Zo nee, doe een redirect naar index.php waarbij je de [i:234f3952a9]$_SERVER["SCRIPT_NAME"][/i:234f3952a9] meestuurt in de querystring (of cookie, of session) zodat je deze waarde kan uitlezen in het script.
  • Hetzelfde zou je ook kunnen doen met .htaccess, maar dat is waarschijnlijk wat ingewikkelder.

    - Bas
  • [quote:bcad9caace="BasHamar"]Hetzelfde zou je ook kunnen doen met .htaccess, maar dat is waarschijnlijk wat ingewikkelder.
    [/quote:bcad9caace]
    Ik denk dat dat nog wel mee kan vallen. Iets als onderstaande lijkt al een eind in de buurt te komen

    [code:1:bcad9caace]
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !index.php$
    RewriteRule (.*) index.php?page=$1
    [/code:1:bcad9caace]
  • Bovenstaande zal vast werken, maar ik zou op z'n minst een uitzonderingsregel maken voor afbeeldingen, javascriptbestanden en stylesheets.

    [b:83b8369917]Edit:[/b:83b8369917] Het zal dus iets als dit moeten worden:[code:1:83b8369917]RewriteEngine On
    RewriteCond %{REQUEST_URI} !index.php$
    RewriteCond %{REQUEST_URI} !\.(gif|jpg|png|css|js|swf)$
    RewriteRule (.*) index.php?page=$1[/code:1:83b8369917]Niet getest, maar ik heb iets dergelijks in mijn .htaccess staan en dat werkt prima.

    [b:83b8369917]Edit2:[/b:83b8369917] Ik bedacht me opeens dat Apache alleen een impliciete AND kent, code aangepast.

    - Bas
  • hmmmz… ik ben nog niet zo lang bezig met php, dit ziet er voor mij dus ontzettend ingewikkeld uit… zou iemand een voorbeeld kunnen geven van een eigen pagina, of in welk stuk van de pagina deze code moet komen te staan ??
  • Bovenstaande code heeft eigenlijk niets met PHP te maken, maar wordt geplaatst in een bestand genaamd [b:82b4a00dab].htaccess[/b:82b4a00dab] (let op de eerste punt!) in de root van je website. De code doet eigenlijk het volgende:[list:82b4a00dab][*:82b4a00dab][i:82b4a00dab]RewriteEngine On[/i:82b4a00dab]
    Noodzakelijke ondersteuning inschakelen
    [*:82b4a00dab][i:82b4a00dab]RewriteCond %{REQUEST_URI} !index.php$[/i:82b4a00dab]
    Nieuwe voorwaarde creeëren: de opgevraagde pagina endigt niet op "index.php"[*:82b4a00dab][i:82b4a00dab]RewriteCond %{REQUEST_URI} !\.(gif|jpg|png|css|js|swf)$[/i:82b4a00dab]
    Nieuwe voorwaarde creeëren: de opgevraagde pagina heeft niet één van de volgende extensies: .gif, .jpg, .png, .css, .js, .swf[*:82b4a00dab][i:82b4a00dab]RewriteRule (.*) index.php?page=$1[/i:82b4a00dab]
    Indien aan beide voorwaarden wordt voldaan: forward de pagina (transparant) naar index.php met de opgevraagde pagina als parameter[/list:u:82b4a00dab]Nu komt er PHP om de hoek kijken, je kan de opgevraagde pagina uitlezen in PHP met $_GET["page"] oid. Ik hoop dat het allemaal iets duidelijker is geworden…

    - Bas
  • yup, het is wel wat duidelijker geworden, dus als ik dit bestandje in mijn root dir zet, zou het moeten werken, of moet ik aan de $_GET["page"] nog een variabele geven ? omdat er RewriteRule (.*) index.php?page=$1 staat…

    [b:816ef5af30]edit[/b:816ef5af30]

    ik gebruik dat $_GET["page"] al, dus zou het zo moeten werken…
  • dit is [u:79ae27cdeb][i:79ae27cdeb][b:79ae27cdeb]geen[/b:79ae27cdeb][/i:79ae27cdeb][/u:79ae27cdeb] php! Dit is code om de server aan te spreken, n amenlijk de apache server. Ik weet niet of andere servers ook .htaccess ondersteunen.
  • Voorwaarde voor het gebruik van de rewrite engine is wel dat de [b:0a3fefc97e]mod_rewrite[/b:0a3fefc97e] module geladen en te gebruiken moet zijn.
    Is afhankelijk van je hosting provider..

Beantwoord deze vraag

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