En anders kan ik ook nog wat boeken aanraden zodra ik thuis ben. Het belangrijkste is echter, wat wil je precies? Waarom dynamisch? Wat is de achterliggende gedachte hierachter?
Inderdaad. Een dynamische site is nog steeds een HTML site. De PHP laag die eronder ligt, zorgt ervoor dat de tekst, kopjes, plaatjes etc. die in je HTML komen, uit een database worden geladen. Tenminste dat is meestal de achtergrond waarom PHP wordt toegepast in een site.
Er zijn natuurlijk allerlei goede boeken over PHP. Ik zou in jouw geval gewoon eens beginnen met een 'PHP voor dummies'-achtig boek. Er zijn er volgens mij een hoop die zijn gericht op mensen met jouw achtergrond: kennis van HTML en interesse in dynamische sites maken.
Wat ik altijd even moet benadrukken, is dat er ook flinke risico's zitten aan het gebruiken van PHP wanneer je de gevolgen nog niet zo kunt overzien. Bij HTML is er doorgaans weinig aan de hand: iemand kan jouw pagina opvragen, dat is het eigenlijk. Bij PHP wordt er tijdens het opvragen van de pagina daadwerkelijk een programma uitgevoerd op je webserver. Als je je site niet nauwkeurig en veilig programmeert, kan dat programma op vele manieren misbruikt worden, waardoor jouw site bijvoorbeeld spam kan gaan versturen.. Je moet daar echt goed op bedacht zijn.
Met de laatste vraag van Godfather ben ik het ook eens: wat is je doel? Als je bijvoorbeeld een site wilt waaraan iemand makkelijk berichtjes kan toevoegen, dan zou je kunnen denken aan Wordpress als basis. En zo zijn er nog vele blog- of website tools. Het voordeel is dat je dan een kant-en-klaar pakket hebt waar door anderen al goed over is gedacht. Zolang je die up-to-date houdt is het allemaal aardig veilig.
Dat klinkt wel als een goed idee ja, om een archief op die manier te behandelen. Als de inhoud van het archief gelijksoortig is (dus elk artikel / pagina van het archief is op dezelfde manier opgebouwd) dan kun je dat heel goed in één vorm weergeven, waarbij je de presentatie makkelijk kunt aanpassen.
Ik weet natuurlijk niet wat voor doel het om gaat, maar als het een werk-gerelateerd iets is, zou je ook kunnen overwegen om zelf een mooie site in html te maken en een specialist het stukje archief in jouw ontwerp te laten bouwen.
Wat nog wel uitmaakt voor de complexiteit, is of de inhoud van dat archief vaak verandert of dat het een min of meer vaste hoeveelheid gegevens is. Als er vaak wijzigingen zijn, zul je ook een soort beheer-pagina willen hebben om de boel aan te kunnen passen. Als het weinig of niet verandert, kun je zo'n pagina achterwege laten en eenmalig de gegevens in een wat minder gebruiksvriendelijke manier in de database zetten; dat is dan toch maar 1 keer.
Wat mvdg zegt is juist, HTML zal je blijven gebruiken alleen hoef je deze HTML opzet slechts eenmaal te maken. De rest wordt uit de database 'getrokken' middels PHP. Even voor mijn idee, wat voor een archief wil je maken voor het internet dat 2700 pagina's telt? Ik ben niet nieuwsgierig hoor maar bedoel je een soort van blog of forum? Of zijn het beelden die je wilt archiveren?
Maar nu: waar moet ik beginnen? Ik heb serverruimte (php) waar ik ook MySQP-databases kan aanmaken. En ik heb ook kennis van hoe je een database opzet, maar niet in MySQL en ook niet hoe je daarmee via php verbinding maakt. Ik zoek dus een eenvoudige handleiding
Het lijkt misschien flauw met zulke linkjes gooien maar het klopt wel. Als je hiermee niet uit de voeten komt dan heb je echt veel meer nodig dan even een snelhulpje of tutorialtje PHP/MYSQL en kom je dus uit op cursussen, boeken of langdurige autodidactiek. Dat laatste heeft altijd mijn voorkeur maar is niet altijd de ideale oplossing.
Het connecten naar de database is dan ook miniscuul onderdeel - het opzetten, invullen en bijwerken van de database is al groots. Laat staan om dan middels PHP op diverse manieren die data er weer uit te trekken.
Ik ben bang dat je deze materie iets te licht opvat. Niet dat ik je ken maar de (manier van) vragen komt nogal luchtig over bij mij.
Wil je wel op weg helpen door je aan de hand te nemen via MSN i.o.d. Het is inderdaad nogal wat om zelf geheel vanaf 0 op te pakken. Ervaring leert dat het handig is om een vraagbaak te hebben waar je praktisch terug kunt. En waar je snel antwoord hebt op je specifieke vraag. Of dit nu in de vorm is van een forum, boek of persoon...
Laat maar weten of je interesse hebt..
(Mrmoon bouwt websites, webapplicaties for a living..)
@ applesien, Weet je wat het is, ik zit en zat zelf vaak met dezelfde vragen. Na langdurige maar wel telkens korte momentjes te hebben gepakt om te kijken wat voor mij werkt en wat ik snap ben ik erachter gekomen dat je voor elke oplossing weer met 2 vragen zit. Vandaar mijn reacties. Ik geef toe, ik ben zelf geen beta-jongetje en heb er meer moeite mee dan de gemiddelde web-freak maar zelfs met behulp van 3 boeken en het www kom ik er vaak niet uit.
Voorbeeld: in een van de 3(!) boeken over PHP danwel PHP/MYSQL waarvan ik auteur en titel nu niet weet wordt je helemaal vanaf het begin aan het handje gehouden. Denk aan een echo met "hello world".
Ik ga hard, het gaat goed tot ze ineens na de theorie met een praktijk opdracht komen. Ineens zie ik het niet meer. De 'for' lussen zijn mij duidelijk, denk ik, tot ik een eigen lus moet maken die bepaalde data uit het systeem trekt. Kortom, de theorie en uitleg snap ik vaak ineens en soms kost het me 2x doorlezen maar ik snap hem uiteindelijk wel. Tot het moment dat je het in de praktijk probeert te gebruiken
Maar goed, zoals ik al zei, ik ben op dit gebied echt een noob en ik heb me er bij neer gelegd dat ik dat altijd zal blijven dus ik hoop echt van harte dat jij de materie sneller oppakt dan ik dat doe :D
De reden dat ik soms wat sikkeneurig klink, is dat ik liever wil voorkomen dat je denkt een werkend systeem te hebben, wat van de ene op de andere dag gehackt blijkt te zijn. Om je een bekend voorbeeld te geven van het soort dingen waar je aan moet denken:
Stel dat je een pagina maakt www.jouwphpsite.nl/instrumenten/instrument.php?id=321Deze pagina moet dus de gegevens van instrument nummer 321 laten zien.In je programma komt dan waarschijnlijk ergens een regel voor die zegt 'laad de gegevens in van instrument nummer X' -- waarbij X dan ingevuld wordt met het juiste nummer, dus 321.
Stel dat ik nu een hacker ben en ik vraag als nummer niet '321' op, maar '1; DELETE ALL'.Dan krijg je als commando dus 'laad de gegevens in van instrument nummer X' -- maar X is nu "1; DELETE ALL". Dus je programma haalt de gegevens op van nummer 1, en wist tegelijk alles in je database!
Dat is dus het soort dingen waar je rekening mee moet houden. En dat kan eigenlijk alleen als je een redelijk diepgaand begrip hebt van hoe je het moet aanpakken... of je moet iemand hebben die meekijkt, maar die moet dan echt alles checken wat je programmeert want anders laat je al snel een steekje vallen!
Nogmaals, het is niet mijn bedoeling om je te ontmoedigen maar om je een reëel beeld te geven van waar je op moet letten. Naar mijn ervaring is het soms fijner om je toe te leggen op waar je goed in bent, bijvoorbeeld een mooi ontwerp maken, en dan iemand in te huren voor net dat stukje werk waar je zelf niet genoeg in gespecialiseerd bent.
info@lowlow.nl
@IedereenZodra het om programmeren gaat (wat schrijven in PHP natuurlijk gewoon is) dien je vooraf een goed gestructureerd idee te hebben van hoe je het moet aanpakken. Je hebt dan toch iets van een beta-inslag nodig. Je moet kunnen analyseren; een probleem kunnen opdelen in kleinere stukjes en de oplossingen daarvan weer in het grote geheel kunnen inpassen. Populair gezegd moet je naast de taal kennen nog iets zinnigs te zeggen hebben. Een programma als 'hello world' draagt daar naar mijn mening helemaal niets toe bij. Het probleem van boeken/cursussen e.d. is dan ook vaak dat deze gemaakt zijn door de beta-mensen, die wellicht een probleem heel goed kunnen oplossen maar niet altijd in staat zijn om hoe je iets moet structureren, over te brengen. Dat is natuurlijk ook een vak apart.
Voor mijzelf heeft het tot nogtoe altijd gewerkt om een niet al te ingewikkeld project(programma) aan te pakken en dan maar kijken hoe je ieder probleem dat je tegenkomt moet oplossen. Het internet, middels gespecialiseerde sites danwel fora is daar bijzonder geschikt voor; uiteindelijk vind je altijd wel ergens een oplossing voor jouw (deel)probleem. Er is altijd wel iemand die hetzelfde probleem had en omdat hij/zij veel slimmer is dan jou of mij er ook nog een oplossing voor heeft weten te verzinnen. Maar wat je programma precies moet doen en of dat op deze manier moet of op een andere wijze dat kan niemand je vertellen. Dat zal je helemaal zelf moeten uitvogelen. Doe je dat op een wat chaotische, lukrake manier dan vrees ik dat je heel veel moeite zal hebben om het tot een goed einde te brengen. Ben je wel analytisch ingesteld dan heb je kans dat het (min of meer) gaat lukken. Maar ook dan is er geen garantie, het kan best iets te lastig zijn of teveel tijd in beslag gaan nemen. En dat laatste is een hekel punt. In iets netjes programmeren gaat uiteindelijk toch behoorlijk wat tijd zitten. Je mag er dan wel weer wat van geleerd hebben, maar het was wellicht handiger geweest om het door een specialist te laten doen.
Maar ok, iets programmeren kan heel veel voldoening geven, maar verwacht niet dat je direct een fantastisch werkend en volkomen veilige toepassing uit je mouw kan toveren door wat in boekjes te duiken. Leren programmeren kan een heel aantal jaartjes in beslag nemen. Naar mijn mening maakt het dan uiteindelijk niet uit in welk taaltje dat je dat moet doen PHP/visual basic/C# of wat dan ook. Zodra je de principes beheerst is de rest alleen een kwestie van techniek.
@mvdgHet voorbeeld dat je geeft valt onder code injection en is uiteindelijk zeer eenvoudig af te vangen. b.v. door de speciale tekentjes als ' en " altijd weg te filteren. Als voorbeeld voldoet het natuurlijk goed. Veel moeilijker is om formulieren waarmee gegevens worden opgevraagd of gemailed op hun veiligheid te beoordelen. Een klein programmeerfoutje kan uitgebuit worden om b.v. de hele lijst met accounts en passwords voor toegang tot een site te mailen. Ook wie prima thuis is in het programmeertaaltje kan wel eens dergelijke steken laten vallen. Dus ook al ben je op zeker moment heel goed in PHP dan nog kan daar een probleem bij ontstaan.
@applesienIk deel dan ook de mening van mvdg dat je goed moet bedenken of je zoiets zelf wilt gaan maken of dat je er een specialist voor inhuurt. Gaat er iets mis met de site dan kan je de specialist er op aanspreken en deze het probleem laten verhelpen. Zelf zit je dan wellicht met je handen in het haar en heeft het museum tijdelijk geen site meer.....
Ieder zijn vak, ieder zijn specialisme
groetjes van een programmeur in wha ev a taaltje (in geen van alle echt geweldig trouwens
Een lijstje met boeken:http://www.phphulp.nl/php/boeken/ (tevens veel andere informatie)
Uiteraard zijn daar de sites van php en mysql zelf. Ik mag aannemen dat je deze ook wel vind.... Je geeft aan zelf te beschikken over een server met php/mysql mogelijkheden, voor het opbouwen van een database is dat wel handig. De meeste providers bieden een admin omgeving voor het maken van een database. In 9 van de 10 gevallen is dit 'phpmyadmin'. Dit biedt je alle mogelijkheden voor het aanmaken, beheren van je database.Daarnaast geef je ook aan dat je wel kennis hebt van database. Mooi, dan is mysql echt geen moeilijke stap en zul je met phpmyqdmin prima uit de voeten kunnen. Als je een database hebt (deels of nog in constructie) moet je nog een connectie maken via php, en dat is dan een ander verhaal http://php.codenewbie.com/articles/php/1511/Connect_to_MySQL-Page_1.html[url].Maar het maken van de connectie is een kleine stap. Maar je hebt heel basaal per pagina nodig:- Design,- Welke data wil ik waar tonen,- Het daadwerkelijk ophalen van de data. Ophalen van data doe je met SELECT statements die ook wel weer zo divers kunnen, dat dit niet ff is uit te leggen. MySQL zelf legt daar op de site prima over uit.Kijk trouwens ook nog eens naar software. Dreamweaver kan een heleboel ook voor je doen qua het schrijven van code, maar ik werk eigenlijk het snelst c.q. het makkelijkst via het schrijven van broncode. Dreamweaver vind ik snel te traag en beperkend in het dagelijkse werk. Ik gebruik vooral Coda van Panic ([url]http://www.panic.com/coda)
Maar het maken van de connectie is een kleine stap. Maar je hebt heel basaal per pagina nodig:- Design,- Welke data wil ik waar tonen,- Het daadwerkelijk ophalen van de data.
Ophalen van data doe je met SELECT statements die ook wel weer zo divers kunnen, dat dit niet ff is uit te leggen. MySQL zelf legt daar op de site prima over uit.
Kijk trouwens ook nog eens naar software. Dreamweaver kan een heleboel ook voor je doen qua het schrijven van code, maar ik werk eigenlijk het snelst c.q. het makkelijkst via het schrijven van broncode. Dreamweaver vind ik snel te traag en beperkend in het dagelijkse werk. Ik gebruik vooral Coda van Panic ([url]http://www.panic.com/coda
Mocht je nog vragen hebben, dan horen we het wel.
Nicky om 19:50, 7-04-2009@Godfather Zonder neerbuigend te willen zijn concludeer ik dat jouw probleem niet zozeer de theorie ofwel kennis is, maar hoe je die in de praktijk moet brengen.
Nicky om 21:03, 7-04-2009Aha, dus mijn reactie is verder geen constructieve bijdrage want alles is al gezegd bedoel je. Thanks.
In tegendeel, ik reageerde enkel op het stukje dat aan mij gericht was. Dat wat je zei in een regel was dus inderdaad al gezegd, in tegenstelling tot de rest van je bericht.
Met PHP, MySQL, Apache virtual-hosts en ook een handige FTP server. Versiebeheer met Subversion.
http://www.atlantisdesign.nl/artikelen/
applesien om 23:40, 7-04-2009[br......En als het niet gaat lukken ga ik sparen voor een prof. ....
Die prof's zijn hier op dit Forum denk ik zeker aanwezig. Hèn wil ik dan ook zeker niet het brood uit de mond stoten met deze reactie, maarre... er zijn nog zoveel andere mogelijkheden tussen 'alles zelf bouwen' en 'het helemaal aan een bureau geven'.Ik ben een tijd geleden begonnen met het zèlf bouwen van een CMS. En dat is aardig gelukt. Met behulp van een grote doos met legostenen genaamd Expression Engine. Open Source, maar wèl met -betaalde- licentie en een uitstekend support forum.Kijk daar ook eens naar. Uitstekend beveiligd, op PHP gebaseerd, werkt met een MySQL database. (Maar die liever niet gehost op een Windows server)Expression Engine komt binnenkort uit met een versie 2.0 maar de 1.x versie zal nog vele jaren meegaan.