[PHP] MultiViews ook in root toepassen of pad aanpassen.

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Fles
  • Registratie: Augustus 2001
  • Laatst online: 06-04-2023
Voor een website wil ik multiviews toepassen. Dit voor vervanging voor de GET variabelen achter de url. Het gaat dus om bestaande pagina's die ik ga includen in een PHP bestand op de volgende manier:
PHP:
1
2
3
4
5
6
7
8
9
  $var = explode('/' , $_SERVER['REQUEST_URI']);

  $path_count = count($var) - 1;
  $page = $var[$path_count];

  if ($page == 'blaat')
    $_REQUEST['id'] = 1;

  include_once("pagina.php");
(Uiteraard werk ik hier met een vereenvoudigd voorbeeld.) Normaal zou ik de pagina aanroepen met: pagina.php?id=1.

Echter heb ik nu het probleem dat het relatieve pad van m'n afbeeldingen en actions van formulieren niet meer kloppen (deze worden opgevraagd door $_SERVER['PHP_SELF']). Ik kan dus niet eenvoudig een / voor de relatieve paden zetten waardoor deze absoluut worden.

Is dit op een andere manier eenvoudig te tekkelen. Is het bijvoorbeeld mogelijk om MultiViews in de root te gebruiken. Bijvoorbeeld: 'www.url.com/blaat' waarbij 'blaat' wordt herkend door een script. In de index werkt dit niet helaas. Of door $_SERVER['PHP_SELF'] of $_SERVER['REQUEST_URI'] handmatig aan te passen.

[update]
$_SERVER['REQUEST_URI'] is aan te passen handmatig :)
Nu de rest nog...
[/update]

[ Voor 43% gewijzigd door Fles op 18-07-2005 11:17 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Volgens mij gaat het includen als volgt.

Als je op een pagina iets include b.v. ../../includes/test.php

En in test.php wil je andere pagina's includen dan moet je die in de includes directory zetten.

Dan krijg je in test.php het volgende

**** test.php
PHP:
1
2
3
4
include_once "blaat_01.php";
include_once "blaat_02.php";
include_once "blaat_03.php";
include_once "blaat_04.php";

Deze zullen dan altijd geinclude worden maarkt niet uit waarvandaan je ze aanroept. En kan je dan als je de test.php include ook nog met een get string aanroepen.

PHP:
1
include_once "test.php?blaat=on";


In test.php zou je dan het volgende kunnen doen om een selectie te maken..

****** test.php
PHP:
1
2
3
4
if ($_GET[blaat]=="on")
    include_once "blaat.php";

etc etct


Is dit wat je bedoelde ? and correct me if i am wrong :)

[ Voor 7% gewijzigd door Verwijderd op 18-07-2005 11:21 ]


Acties:
  • 0 Henk 'm!

  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

Ik heb dat opgelost door een base href op te nemen in mijn source:
HTML:
1
<base href="http://www.atlex.nl" />

Sole survivor of the Chicxulub asteroid impact.


Acties:
  • 0 Henk 'm!

  • Fles
  • Registratie: Augustus 2001
  • Laatst online: 06-04-2023
AtleX schreef op maandag 18 juli 2005 @ 11:28:
Ik heb dat opgelost door een base href op te nemen in mijn source:
HTML:
1
<base href="http://www.atlex.nl" />
JA, Dat is hem he!