Tijd voor... tentamens
Permalink · Geplaatst op 5 November 2004 om 15:46
Na drie dagen aan het prutsen geweest te zijn en alle scripts van hjdeboer.nl onder handen te hebben gehad, is de site in nieuwe vorm online. Jullie zien geen verandering?
Hmmm. Hij is er wel. Waar ik kon, heb ik de scripts wat netter gemaakt en wat rare kronkels eruit gesloopt. Het meest zichtbare is echter het feit dat er nu van allemaal 'mooie URL's' gebruik gemaakt wordt. Waar je vroeger naar het overzicht van de quotes ging via http://bitbikkels.student.utwente.nl/~henk-jan/index.php?quotescomments"esid=54, doe je dat nu via http://bitbikkels.student.utwente.nl/~henk-jan/index/list_quote/54. Een dergelijk project heb ik ooit ook uitgevoerd toen we nog van phpBB gebruikmaakten. Daar moest dat om moverende redenen echter door alle links te herschrijven via rewrite-rules. Nu heb ik het gedaan door gebruik te maken van multiviews, zoals React dat ook met zijn pagina's doet. Als ik een link intyp als hierboven, dan kan Apache geen directory vinden met de naam 54. Door multiviews aan te zetten, gaat de webserver automatisch een niveautje hoger kijken. Daar vindt hij list_quote, maar ook daarvan bestaat geen directory. Wederom gaat de server een niveautje hoger en komt uit bij index. Multiviews herkent het bestand index.php dat daadwerkelijk op de plaats van index staat. (Ik kan dat bestand ook renamen naar shibby.php en mijn paden tegelijk wijzigen naar shibby; dat werkt ook. Dan is een link als http://hjdeboer.nl/shibby/list_quote/54 mogelijk.) Nu we door multiviews automatisch op index.php uitgekomen zijn, kan ik dáár het opgevraagde pad uitlezen en dat in variabelen strippen op de volgende manier:
php:
| <?
|
In het bovenstaande voorbeeld bevindt zich in $var1 'list_quote' en in $var2 '54'. Logischerwijs is $var3 hier leeg, omdat er niet meer achteraan komt. Ik kan nu via mijn index die variabelen af gaan handelen. Ik kan bijvoorbeeld zeggen: als $var1 'list_quote' bevat, dan includen we het bestand quotescomments.php. In dat bestand kan ik dan opgeven dat ik de quote met ID 54 (uit $var2) wil ophalen en wil tonen. Easy does it.
Het kan zijn dat er zo hier en daar nog een redirect is die niet helemaal goed werkt, of dat er een ander linkje is dat niet helemaal klopt. Het was namelijk een behoorlijke klus om *alle* linkjes op de site na te lopen, dus het kan nog een beetje buggy zijn.
Als je iets vindt, dan moet je 't maar effe mailen... ik heb er nu eerst geen tijd voor, want eerst... eerst is het tijd voor tentamens! 
Ten slotte: ik hoorde zojuist dat er vanavond formele besprekingen beginnen tussen het kabinet en de vakbonden. Lodewijk de Waal heeft blijkbaar mijn vorige posting hier gelezen en mijn adviezen ter harte genomen.