Mod rewrite + mysql + php probleem

  • Onderwerp starter Onderwerp starter bn2vs
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

bn2vs

Terugkerende gebruiker
Lid geworden
18 aug 2007
Berichten
1.705
Hey,

Ik probeer een site met een mod_rewirte url systeem te maken. Hier heb je ff beshcrijving van hoe het werkt:

user gaat naar http://site.tld/Pagina en mod_rewite roept http://site.tld/index.php?p=Pagina op. In index.php word in tabel 'paginas' gezocht naar een pagina met de naam 'Pagina' en de bijhorende php file. die php file word dan geinclude.

Dat werkt allemaal goed, maar nu is mijn probleem dat ik elke naam maar 1x kan gebruiken, wat niet echt handig is als je met meerdere niveaus werkt.
Dit kan nu bevoorbeeld niet:
http://site.tld/Onderwerp1/Overzicht
http://site.tld/Onderwerp2/Overzicht

Iemand een idee hoe ik dit gestructureerd kan oplossen?

Alvast bedankt :)
 
http://kohanaphp.com/home

Dit is een hele basic functie, die door heel veel frameworks standaard ondersteund wordt :)

Scheelt je een hoop werk en een heleboel afgevangen issues :)
 
nice handig frameworkje :)

maar lost mn probleem met database systeem niet op :confused:
 
Ik zou de link van URL naar page ook niet leggen in de database.

De oplossing van Kohana is veel praktischer: het eerste argument in de URL is de file; het tweede argument is de methode in die file, en alle overige argumenten zijn parameters die meegegeven worden.

Dat bespaard onnodige queries, is super intuitief en je kunt er alle kanten mee op :)

Maar als je het perse met een query wil; dan zou ik ongeveer hetzelfde doen: meestal is alles na de 2e parameter ongeveer geen file meer, maar een argument dat aan de file meegegeven wordt; bedenk een algemeen systeem om te zorgen dat al die params omgezet worden naar variabelen en neem ze niet mee met de mod-rewrite...
 
Wat ik wil bereieken is een 'ongelimiteerd' diepgand systeem, zodat ik urls in deze aard kan maken
http://site.tld/Onderwerp/Overzicht/Sectie/subSectie/Pagina

Dat gaat zoals ik het nu doe (elke pagina heeft een parent_id die overeenkomt met de id van een andere pagina), maar zie niet direct hoe ik het met Kohana zou kunnen doen. Het is trouwens ook zeker niet de bedoeling om de php files effectief in een directory te gaan stoppen die deels met de url overeenkomt!
 
Je wilt elk van die pagina's in volgorde aanroepen?

Dan wordt het iets van:

PHP:
<?php foreach ( $_GET as $param => $value ) {
  // bepaal pagina om te includen
  include $value_pagina.php;
}
?>

lijkt me?

Maar je zou eerder verwachten dat elke pagina zijn eigen sub-pagina's aanroept... want als je zoiets doet, en iemand geeft een URL mee als site.tld/Subsectie/Pagina, dan krijgt ie een halve view te zien...

Als je dat niet bedoelt, dan snap ik niet helemaal wat je wilt, denk ik...

Ow; en wat is er mis met filenames die overeenkomen met de URL? Dat is juist lekker duidelijk.
 
Je begrijpt me idd verkeerd. Elke php file kan meerdere urls hebben, die soms meer dan 1 niveau diep kunnen gaan.
 
Eh, dat is toch precies het idee van Kohana?


Een file Pagina.php kan aangeroepen, en die heeft een methode Artikel met parameters als Categorie, Sectie, en ArtikelNaam, en ook een methode Bewerk met parameters Artikelnaam...

Dus

PHP:
<?php
class Pagina_Controller extends Controller {

public function Artikel ( $categorie, $sectie, $artikelnaam ) {
}

public function Bewerk ( $artikelnaam ) {
}

}
?>

Volgensmij is dat precies wat je wil? :P
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan