[php] navigatie afhankeleijk maken van session var

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • dossiewossie
  • Registratie: Maart 2004
  • Laatst online: 06-09 18:33
Ik maak een website waar een index.php file andere pages include. Aan de hand van get variabelen bouw ik het menu steeds op, en bepaal ik aan de hand van de sessie id welke pagina geladen moet worden.

het ziet er zoiets uit: index.php?page=page&subpage=subpage&subsubpage=subsubpage

dit herschrijf ik via een modrewrite naar www.domein.nl/page/subpage/subsubpage/

ik heb alleen een probleem met de page projecten. Als dit onderdeel gekozen wordt, dan kan men kiezen uit een aantal projecten, en per project moet er een andere subnavigatie kunnen zijn.

ik wil echter niet zoiets hebben: page=project&project=project1&subpage=faq , want dan kom ik ook niet helemaal uit met mijn mod_rewrite (misschien zal dat wel lukken, maar ik wil daar niet teveel logica in stoppen, en ik heb daar ook niet echt kennis voor).

Is het een idee om het project in een sessie te gooien, welke weggegooid wordt als de page project niet geselecteerd is, en welke aangepast wordt als er een ander project gekozen wordt?

Het zal wel werken, maar ik vraag me af of er niet een nettere manier is.


Tevens vraag ik me af welke variabelen ik in een sessie moet gooien bij het inloggen. Met het id kan ik eigenlijk alles mbv joins en dergelijke te weten komen, maar als ik bijvoorbeeld $_Session['company'] opneem, dan zal dat wel weer een hoop queries schelen.
Is er gangbaar idee wat je in sessies gooit en wat niet?

Zo, dat was het weer even :)

Acties:
  • 0 Henk 'm!

  • daank
  • Registratie: Januari 2001
  • Laatst online: 21-09 12:56

daank

Internet _H3nk

Als je wilt dat mensen via het menu op je website navigeren dan zou je het ook eens kunnen proberen om het via een post te doen.

Het is niet de meest ideale manier , maar het werkt wel (er van uit gaande dat mensen niet de Back button van de browser gebruiken.)

nadeel alleen wel van een post is dat zoekmachines je site niet indexeren.
Dit is tevens het geval voor de $_SESSION variable

Waar je misschien ook naar kan kijken is Multiview
hier een linkje naar een topic daarover
Multiview PHP

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 02:21

Janoz

Moderator Devschuur®

!litemod

Het lijkt me een heel onhandige oplossing. Je bezoeker kan maar op 1 project tegelijk kijken. Heb je de faq van project 1 open staan en ben je in een ander scherm naar project2 gesurft. Druk je op het eerste scherm (van project 1 dus) op download en ga je project 2 downloaden. Daarnaast kun je, wanneer je een leuk project tegenkomt niet even de url kopieren en naar een bekende sturen met 'kijk eens wat een leuk project'. Wanneer die bekende dan op de link klikt komt hij op een 404/sessie leeg waarschuwings pagina uit.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Ik vind het ook een beetje vreemd dat je je menu opbouwt aan de hand van wat er in de GET params voorkomt. Bedoel je met menu hier iets als broodkruimels of echt het menu?

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

Verwijderd

De mod-rewrite kun je gewoon kopieren alleen moet je de pagename even invullen, je moet de nieuwe mod-rewrite-rule dan alleen wel boven de andere zetten, het zal zoiets zijn:

/project/(.*)/(.*) index.php?page=project&project=project1&subpage=faq
/(.*)/(.*)/(.*)/ index.php?page=page&subpage=subpage&subsubpage=subsubpage

disclaimer: bovenstaande klopt niet helemaal maar het gaat om het idee wat ik bedoel ;)

Acties:
  • 0 Henk 'm!

  • dossiewossie
  • Registratie: Maart 2004
  • Laatst online: 06-09 18:33
Michali schreef op dinsdag 13 september 2005 @ 09:45:
Ik vind het ook een beetje vreemd dat je je menu opbouwt aan de hand van wat er in de GET params voorkomt. Bedoel je met menu hier iets als broodkruimels of echt het menu?
ik bedoel het echte menu. Tsja, ik moet wat. Het is een soort extranet achtig iets, klanten moeten kunnen inloggen, en elke klant moet een ander menu kunnen hebben, en per project moet het menu er ook anders uit kunnen zien.

Als iemand een veel beter idee heeft, ik hoor het graag.
Pagina: 1