Verwijderd schreef op donderdag 20 januari 2005 @ 21:21:
Even een paar dingen ter verduidelijking.
1. Waarom wil ik databasedriven?
Dit wil ik omdat ik andere personen de gelegenheid wil geven om content aan te passen en ik wil voorkomen dat de login en pass van de ftp zo weinig mogelijk in de ronte gaan..
Maar tussen content hoort géén php te staan. Door al je PHP bestanden te kopiëren in je database heb je nog geen database-driven website. Tenminste, ik zou het geen database driven website willen noemen
Het filesystem op je harde schijf ís in weze een database, dat geschikt is om bestanden op op te slaan. Een databaseserver als MySQL is niet geschikt om bestanden in op te slaan, daar hebben we namelijk een filesystem voor. In een relationele database als MySQL sla je gegevens op die je later wilt kunnen bewerken of weergeven. Maar hier zou wat mij betreft in geen énkel geval code in mogen staan. Dit wijst op een slecht datamodel, en in jouw geval eigenlijk op helemaal geen datamodel

Als je mensen de mogelijkheid geeft om php in hun content te gebruiken kun je ze net zo goed de gebruikersnaam van je ftp geven want als je toestemming geeft om php te gebruiken kunnen ze eigenlijk toch al alles doen wat ze willen...
2. Waarom wil ik php gebruiken in mijn content?
Dit omdat het erg vaak voorkomt dat ik in mijn content een bepaalde functie aan wil roepen en deze uit wil voeren.
Maar zitten er geen overeenkomsten tussen die verschillende bestanden? Wat is het voor 'content'?
3. Hoe kom ik aan 1000 en 1 bestanden?
Dat was een hyperbool

om aan te geven dat er momenteel voor iedere content pagina ook een php pagina gebruikt moet worden.
Als ik jou was zou ik eens gaan onderzoeken hoeveel verschil er tussen die verschillende pagina's zit en of de code die er in staat niet in een aantal algemenere pagina's te krijgen is en dat je de échte gegevens dan wel uit een database haalt.
4. Hoe heb ik het momenteel?
Momenteel heb ik een tabel waarin de content geplaatst wordt, gekoppeld aan een menu_id.
Deze content haal ik uit de tabel d.m.v. simpel mysql_fetch_object($query) te gebruiken. Hierna echo ik de content variabele op de pagina.
Dit werkt allemaal zonder problemen totdat ik een stukje php aan wil roepen in mijn content. Op dat moment wordt deze code zoals hij in de tabel staat gewoon ge-echot.
De makkelijkste oplossing om dit toch te doen is dus gebruik te maken van eval(). Maar ik probeer je duidelijk te maken dat je dat dus eigenlijk toch niet wilt

Zoek bijvoorbeeld hier op GoT maar eens naar meer info over eval. Er zijn niet veel mensen die voorstander van het gebruik van eval zijn. En als die er wel zijn moeten ze een schop onder hun kont krijgen

Nee, in heel uitzonderlijke gevallen is er misschien wat voor te zeggen, maar ik denk dat het in jouw geval niet nodig is. En de manier waarop je nu gebruik maakt van MySQL is eigenlijk ook redelijk onzinnig

Je voegt alleen maar een extra laag toe aan je applicatie die het geheel complexer maakt dan nodig is. Een database als MySQL is niet bedoeld voor het opslaan en ophalen van hele bestanden, daar hebben we het filesystem voor

Ik hoop dat het zo iets duidelijker is..
Ik hoop dat ik zo ook nog iets duidelijker ben
[
Voor 5% gewijzigd door
ludo op 20-01-2005 23:06
]