[PHP] Site op basis van jaargang-selectie

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Priet
  • Registratie: Januari 2001
  • Laatst online: 08:01

Priet

To boldly do what no one has..

Topicstarter
Voor een nieuwe website maak ik gebruik van verschillende nieuwsrubrieken. Elke 'groep' kan meerdere nieuwsrubrieken hebben. Het idee is als volgt:

Nieuws
.... Nieuwsberichten
.... Brieven
Groep 1
.... Nieuws uit de groep
.... Leerlingenwerk
Groep 2
.... Nieuws uit de groep
.... Leerlingenwerk
etc.

De site is voor een basisschool. Elk jaar is er een andere samenstelling van de groepen. Daarom wil ik de structuur van groepen en bijbehorende rubrieken per schooljaar vastleggen. In de database heb ik prima vast kunnen leggen en levert verder (nog) geen problemen op.

Om nu het nieuws uit de groepen van bijvoorbeeld een jaar geleden te bekijken moet er op de site een optie komen te staan waarin het gewenste schooljaar gekozen kan worden. De gebruiker selecteert het jaar en de site verspringt naar dat jaar en laat van dat jaar alle groepen en bijbehorende rubrieken zien.

Maar hoe moet ik zoiets opzetten in PHP? Op elke pagina moet bekend zijn welk jaar 'geselecteerd' is. Ik heb geen idee hoe ik dit het beste aan kan pakken. Moet ik voor elke pagina een parameter '?jaar=12' meegeven? Lijkt me niet de meest handige manier. Misschien in een sessie/cookie? Of soms met global variabelen?

Welke methode kan ik hiervoor het beste gebruiken?

[ Voor 3% gewijzigd door whoami op 22-03-2004 13:04 ]

"If you see a light at the end of a wormhole, it's probably a photon torpedo!"


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

De algemene regels voor POST of GET: POST is een eenmalige selectie die over het algemeen content toevoegt of een andere eenmalige actie uitvoert. GET is voor 'repeatable' acties, zoals search-queries of het opvragen van specifieke content.

Oftewel ja: voeg lekker een GET parameter toe die zorgt dat je in 2002 zit te modderen, en verberg dat me een mod_rewrite zodat je op http://mijnschool.nl/2002/1/Nieuws zit te lezen :)

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 17-09 20:52

ripexx

bibs

Ik gebruik een zelfde systeem voor een website. Het gaat hier om leden en teams. Door koppeltabellen behoud ik de historie en kan ik de selecties behouden. De variabelen geef ik meestal door met GET (links) of POST (formulieren) variabelen.

Cookies vind ik niet echt geslaagd. Opzich zou je wel een sessie kunnen zetten, maar et lligt echt aan het ontwerp en wat jezelf het makelijkste vindt. Ook is beveiliging een belangrijk punt, als het een maal in een sessie zit kan je hetw el weer gemakkelijk aanroepen. Bij een POST of GET zul je toch weer bepaalde controles moetn uitvoeren.

buit is binnen sukkel


Acties:
  • 0 Henk 'm!

  • Priet
  • Registratie: Januari 2001
  • Laatst online: 08:01

Priet

To boldly do what no one has..

Topicstarter
Ik maak voor de site zelf ook gebruik van een koppeltabel waarin de complete historie ligt opgeslagen.

mod_rewrite ken ik (nog) niet. Is dat makkelijk te implementeren?

Als ik daar geen gebruik van wil maken (gebrek aan kennis of te ingewikkeld) dan zijn sessies toch ook goed te gebruiken? Of zie ik nu wat over het hoofd? Nadeel van sessies is wel dat je niet direct kan linken naar een oud bericht en dat de links die nu wel kloppen een jaar laten niet meer zouden kunnen kloppen...

Maar wat is er met beveiliging? Zijn sessie minder veilig dan een mod_rewrite? Ik vat niet wat beveiliging hiermee te maken heeft.

"If you see a light at the end of a wormhole, it's probably a photon torpedo!"


Acties:
  • 0 Henk 'm!

  • blizt
  • Registratie: Januari 2003
  • Laatst online: 11-12-2024

blizt

Wannabe-geek

Mod_rewrite en sessies zijn 2 heel verschillende dingen...
Lees de P&W-faq voor meer informatie over de mod_rewrite.
Zelf zou ik 't overigens ook gewoon in een sessie gooien hoor :)

United we stand, and divided we fall


Acties:
  • 0 Henk 'm!

  • Priet
  • Registratie: Januari 2001
  • Laatst online: 08:01

Priet

To boldly do what no one has..

Topicstarter
Ik ga me maar eens wat verdiepen in URL Rewriting :)

Ik zit nu te denken en ik denk dat sessies in bepaalde gevallen voor problemen kunnen zorgen. Als je namelijk later wilt terugkeren naar een pagina die 'in het verleden ligt' dan gaat dat niet lukken omdat je dan het sessieobject niet meer hebt en je dan opnieuw het schooljaar moet selecteren.

Een afzonderlijk nieuwsbericht is dan nog wel op te vragen omdat elk nieuwsbericht een eigen id heeft. Die vraag je dan op met bericht.php?id=99. Maar als je nu het berichtenoverzicht wilt opvragen? Zonder jaargangen gaat dat dan met overzicht.php?groep=groep1&rubriek=leerlingenwerk. Als je dan jaargangen wilt gaan gebruiken kom je in de knoei als je gebruik gaat maken van sessies.

Mij lijkt dus dat sessies geen optie zijn. Het schooljaar moet dus in de url mee worden gegeven. Dan blijven er dus twee opties over. Ik blijf de 'normale' methode gebruiken (overzicht.php?jaargangid=4&groep=groep1&rubriek=leerlingenwerk) of ik ga URL rewriting gebruiken (overzicht.php/4/groep1/leerlingenwerk).

Welke methode is de prefereren? Ik moet wel zeggen dat de urls met mod_rewrite er een stuk mooier uitzien :)

offtopic:
Best productief, hardop brainstormen :P

"If you see a light at the end of a wormhole, it's probably a photon torpedo!"


Acties:
  • 0 Henk 'm!

  • blizt
  • Registratie: Januari 2003
  • Laatst online: 11-12-2024

blizt

Wannabe-geek

Zeker mod_rewrite!
Ten eerste ziet 't er leuker uit & ten tweede is 't ook beter voor searchengines...
Als die bv. overzicht.php?jaargangid=4 geïndexeerd hebben zullen ze overzicht.php?jaargangid=5 niet meer indexeren....
Dat is anders als je overzicht.php/4 en overzicht.php/5 hebt.

United we stand, and divided we fall


Acties:
  • 0 Henk 'm!

  • Priet
  • Registratie: Januari 2001
  • Laatst online: 08:01

Priet

To boldly do what no one has..

Topicstarter

"If you see a light at the end of a wormhole, it's probably a photon torpedo!"


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • Priet
  • Registratie: Januari 2001
  • Laatst online: 08:01

Priet

To boldly do what no one has..

Topicstarter
Ja uhh toen ik dat las was ik nog niet zover met denken over de mogelijkheden :Y)

Maar toch bedankt hoor ;) Het bevestigt wel dat dat gewoon dé manier is om dit mooi weg te werken :)

Een mooie guide hierover (voor mensen die er nog naar zoeken):
http://www.sitepoint.com/article/guide-url-rewriting/1 (zie, zij gebruiken het zelf ook! 8))

"If you see a light at the end of a wormhole, it's probably a photon torpedo!"

Pagina: 1