atica inform PHP & MySQL

Maat: px
Weergave met pagina beginnen:

Download "atica inform PHP & MySQL"

Transcriptie

1 informatica PHP & MySQL

2 Op dit lesmateriaal is een Creative Commons licentie van toepassing Remie Woudt 2013 François Vonk (XAMP vervangen door USB Webserver, minor edits)

3 Inhoudsopgave 1Wat is PHP? Wat heb je nodig? het eerste script voorwaarden herhalingen even terug naar HTML gegevens opslaan GET of POST PHP met database gegevens lezen gegevens toevoegen gegevens wijzigen foutmeldingen een CRUD voorbeeld...31

4 1 Wat is PHP? Voor we die vraag kunnen beantwoorden is het goed eerst iets te vertellen over hoe het internet eigenlijk in elkaar zit. Als je op het internet surft maak je (meestal) gebruik van een browser. Dat kan Internet Explorer zijn maar ook Firefox, Opera en er zijn er nog wel een aantal. Met een browser kun je webpagi - na's opvragen die ergens op het internet staan. De plaats waar ze staan noemen we een server of beter, webserver. De browser wordt dan de client genoemd. Zo ontstaan een zogenaamd client-server systeem waarbij de webpagina's op de server staan en de client steeds verzoeken indient bij de server om pagina's te laten zien. Een webserver zorgt er dus voor dat er, verzoeken van verschillende clients (browsers dus), webpagina's naar die clients worden verzonden zodat ze daar getoond kunnen worden. Om dat allemaal goed te laten verlopen maakt men gebruik van een protocol, namelijk het HTTP protocol. En dat is weer een afkorting (voor HyperText Transfer Protocol) dat je vaak boven in de adresbalk in de browser hebt zien staan. Tot nu toe maakten we pagina's die we ook zo wel in de browser konden bekijken. Daar hadden we niet eens een server voor nodig. Maar wil je het via het internet ook aan anderen laten zien dan zul je dus moeten zorgen dat je jouw pagina s op een webserver zet. En dan een webserver die uiteraard met het internet is verbonden. Soms heb je meer dan een server nodig. Bijvoorbeeld als de inhoud van de pagina steeds wij - zigt. Zoals bij een internetwinkel. De gegevens in die winkel zijn niet iedere keer hetzelfde als je daar een pagina opvraagt. Dus kun je ook niet een webpagina maken waarin die gegevens er als gewone tekst in komt te staan. Je hebt dan behoefte aan een manier om de pagina's steeds met andere informatie naar de browser te sturen. En dat is wat we met PHP kunnen doen. PHP werkt op een webserver en maakt daar de HTML-pagina s. Maar het bijzondere is dat PHP iedere keer als zo'n pagina wordt opgevraagd hem dan opnieuw maakt. Als je een PHP pagina opvraagt zal de webserver eerst kijken welke PHP code in die pagina staat. Aan de hand daarvan wordt HTMLcode gegenereerd en dat wordt dan naar de browser gestuurd. Uit WikiPedia: PHP is een scripttaal, die bedoeld is om op webservers dynamische webpagina's te creëren. PHP is in 1994 ontworpen door Rasmus Lerdorf, een senior software engineer bij IBM. Aanvankelijk stonden de letters PHP voor Personal Home Page (de volledige naam van de software was Personal Home Page/Forms Interpreter, PHP/FI). Sinds PHP 3.0 is de betekenis een recursief acroniem geworden: "PHP: HypertextPreprocessor". Deze naam geeft aan waar de taal meestal voor gebruikt wordt: informatie verwerken tot hypertext (meestal HTML en XHTML). Het grote verschil tussen het gebruik van PHP en JavaScript kun je zien als je van de webpagina de bron bekijkt. Bij JavaScript zie je dan HTML met daarin de JavaScript code. Bij PHP zie je alleen maar 4 1Wat is PHP?

5 HTML. Met PHP kun je dus jouw code geheim houden. PHP is overigens, net als JavaScript, een scripttaal. Zo noemt men een taal die niet eerst gecompileerd (omgezet) hoeft te worden tot een uitvoerbaar bestand. De code wordt gewoon regel voor regel, zoals jij dat ingetypt hebt, rechtstreeks door de server uitgevoerd. We noemen PHP een server sided programmeertaal. Een taal dus die zijn werk doet op de server. Dit in tegenstelling tot JavaScript dat zijn werk doet in de browser en om die reden een client sided programmeertaal wordt genoemd. Naast PHP zijn er vergelijkbare oplossingen. Zo heeft Microsoft Active Server Pages (ASP met als opvolger ASP.NET). Van Sun Microsystems is Java Server Pages (JSP), gebaseerd op Java en beschikbaar voor veel webservers. 1.1 Wat heb je nodig? Om met PHP te kunnen werken hebben we een webserver nodig. We moeten dan de bestanden die we maken op die webserver plaatsen en daarna via een browser de pagina opvragen. Vaak is een webserver ook nog eens een aparte computer. Maar we kunnen ook een webserver op onze eigen computer installeren en er op die manier mee werken. Het klinkt allemaal wel wat ingewikkelder dan het is want er zijn veel kant en klare oplossingen op internet te vinden. De zogenaamde WAMP pakketten (Windows, Apache, MySQL en PHP) kun je in z n geheel downloaden en installeren. Tegenwoordig zijn er ook oplossingen die vanaf een USB stick draaien. Dit is handig want dan hoef je niks op je PC te installeren. We gaan voor deze module weer gebruik maken van USB Webserver. Om goed te kunnen werken is het daarom weer noodzakelijk dat je zelf een USB stick hebt en die elke les meeneemt. Als je je kennis over USB Webserver op wilt halen dan kun je kijken hoe je USB Webserver op je USB stick krijgt en hoe het werkt in het document USB Webserver installatie en gebruik dat je vindt in Moodle. Als je weer weet hoe USB Webserver werkt kunnen we gaan programmeren. Bij USB Webserver is het handig, maar niet noodzakelijk, om het hoofdbestand van je webomgeving index.php te noemen. Dit is namelijk het bestand dat standaard wordt geladen door Apache. In deze module ga je echter werken met bestandsnamen die het opdrachtnummer in zich hebben om de opdrachten zo gemakkelijk uit elkaar te houden. We plaatsen alle bestanden in de root van USB Webserver zoals uitgelegd in de installatie- en gebruikershandleiding in Moodle. De PHP-bestanden maken we weer met behulp van Notepad het eerste script Laten we beginnen met een eenvoudig script waarmee je kunt bepalen of het zomer- of wintertijd is. Opdracht 1 Maak een bestand met de naam opdracht1.php en sla dit bestand op in de map waar de websitebestanden moeten staan (in de root dus). Typ in dat bestand de volgende code: <title>zomertijd</title> <?php

6 //Tijdzone instellen date_default_timezone_set('europe/amsterdam'); //Controleer zomertijd if(date('i') == 1) { echo "Het is zomertijd"; else { echo "Het is wintertijd"; Bewaar het bestand, start een browser en typ in het url veld: Als het goed gegaan is krijg je nu de melding of het zomer- dan wel wintertijd is. Werkt dit niet, controleer dan eerst of Apache wel klaar is in het USB Webserver console! Aan het bovenstaande voorbeeld zie je dat het in eerste instantie heel veel lijkt op een HTML pagina. Het PHP gedeelte staat tussen <?php en. In dat gedeelte wordt eerst de tijdzone ingesteld. De zomertijd/wintertijd omschakeling verschilt namelijk per tijdzone. Daarna wordt er gebruik gemaakt van de standaard date functie. Als (if) date('i') een 1 geeft is het zomertijd, anders is het wintertijd. Dit is typisch hoe een functie werkt. Je vraagt de functie iets en hij geeft iets terug als resultaat. Nu zul je je misschien afvragen: 'Maar hoe weet ik dan wat dat resultaat moet zijn?' Kijk maar eens bij de datefunctie op Dat zie je ook dat de date-functie nog veel meer mogelijkheden heeft die je op kunt vragen. Je ziet dat met de opdracht echo iets op het scherm geplaatst wordt. echo gaan we nog veel vaker gebruiken omdat we er binnen PHP heel veel mee kunnen doen. Maar dat komt later aan de orde. Opdracht 2 Maak een nieuw bestand, geef het de naam opdracht2.php en zet er de volgende code in: <title>begroeting</title> <?php //Tijdzone instellen date_default_timezone_set('europe/amsterdam'); echo '<p>'; $uur = date('h'); if($uur >= 0 && $uur < 6){ echo "Goedenacht meneer/mevrouw, "; elseif($uur >= 6 && $uur < 12){ echo "Goedemorgen meneer/mevrouw, "; elseif($uur >= 12 && $uur < 18){ echo "Goedemiddag meneer/mevrouw, "; 6 1.2het eerste script

7 elseif($uur >= 18 && $uur < 24){ echo "Goedenavond meneer/mevrouw, "; ; echo "het is nu $uur uur."; echo '</p>'; Bewaar het bestand, start een browser en typ in het url veld: Hier gebruiken we opnieuw de date-functie. Nu halen we daaruit het uur van dit moment in de vorm van een getal. Die plaatsen we in de variabele $uur en daarvan maken we gebruik in de if en de echo regels. Bekijk het resultaat van opdracht 2 op verschillende tijdstippen van de dag! Opdracht 3 Sla opdracht2.php op onder de naam opdracht3.php en verander in opdracht3.php de regel: echo "het is nu $uur uur."; in echo "<br> het is nu $uur uur."; en leg uit wat het effect is. Opdracht 4 Kijk opnieuw naar In de vorige opdracht hebben we weer de date functie gebruikt. Wat zou er gebeurd zijn als we in plaats van date('h') gebruik hadden gemaakt van date('g')? Nog even wat uitleg. Met $uur wordt een variabele aangegeven. In PHP beginnen alle variabelen met het dollar teken. In een variabele kun je een gegeven opslaan. In het bovenstaande voorbeeld wordt in $uur het getal dat het uur van de dag voorstelt opgeslagen. Bij opdracht 2 en opdracht 3 heb je gemerkt dat je HTML code in de PHP code mag stoppen. We deden dat met echo '<p>'; maar ook met echo "<br> het is nu $uur uur.";. Met echo wordt zo n regel naar de browser gestuurd en die beschouwt het als HTML. Wanneer je tekst met daarin een variabele door middel van echo naar de browser stuurt moet je de dubbele aanhalingstekens gebruiken ("). Gebruik je de enkele aanhalingstekens dan controleert PHP niet of er zich in de tekst ook variabelen bevinden. In dat geval wordt $uur dus gewoon als $uur afgedrukt. Opdracht 5 Zoek op met welke date-functie je de minuten op kunt vragen. Verander dan opdracht2.php dusdanig dat je het aantal minuten ook in een variabele krijgt en de tijd nu als volgt op het scherm komt: het is nu 18:48 uur. Opdracht 6 Als je de pagina van opdracht 5 bekijkt en je klikt met je rechtermuisknop op die pagina en kiest voor Bron weergeven, wat zie je dan? Zie je ook PHP code? Hoofdstuk 1Wat is PHP? 7

8 1.3 voorwaarden In opdracht 1 maakten we al gebruik van if en else. Aan de if opdracht zit een voorwaarde verbonden. Het programma kan als het ware uit twee dingen kiezen. Het ene als de voorwaarde waar is, het andere als de voorwaarde niet waar is. Dat gaat met het if statement als volgt: if (voorwaarde) { doe iets als de voorwaarde waar is; else { doe iets als de voorwaarde niet waar is; Dit zal je bekend voorkomen. Je hebt dat immers bij JavaScript al gehad! Alleen is de syntax hier een klein beetje anders. Opdracht 7 a. Wat bedoelen we met syntax? b. Wat is het verschil in de syntax tussen de if opdracht in JavaScript en die in PHP? Zoals je ziet staat de voorwaarde tussen haakjes en de opdrachten die daarna komen staan tussen accolades. Dat laatste hoeft niet als de voorwaarde maar één regel lang is maar maak er toch maar een gewoonte van. Het is wel zo duidelijk. Als de voorwaarde niet waar is kom je bij het deel na else. Je zou dan opnieuw een voorwaarde kunnen stellen door in plaats van else de opdracht elseif te gebruiken. We hebben dat gebruikt in opdracht 2. Je ziet in opdracht 2 ook het gebruik van &&. Deze logische operator kwam ook al voor in hoofdstuk 6 van het html-deel. Daarmee worden twee voorwaarden met elkaar gecombineerd door middel van de EN-functie of, zoals die meestal wordt aangeduid: de AND-functie. Bij deze voorwaarde: ($uur >= 0 && $uur < 6) betekent het dus dat als aan beide voorwaarden voldaan is, ($uur groter of gelijk is aan 0 EN $uur is kleiner dan 6), het programma vervolgd wordt met het gedeelte na deze beide voorwaarden. Naast de && kennen we ook de voor de OF-functie (de OR-functie) en de! voor de NIETfunctie (de NOT-functie). Opdracht 8 Leg uit waarom een voorwaarde als: ($uur >= 0 $uur < 6) geen zinvolle betekenis heeft. Een andere manier om voorwaarden in jouw code in te bouwen is met het gebruik van het switch-statement. Wanneer je meer dan drie elseif s in je code hebt staan is het vaak handiger en overzichtelijker om met switch te gaan werken. Kijk naar de volgende code om te zien hoe je met switch het probleem van opdracht 2 te lijf kunt gaan: <?php //Tijdzone instellen date_default_timezone_set('europe/amsterdam'); echo '<p>'; $uur = date('h'); switch ($uur) { case ($uur >= 0 && $uur < 6): echo "Goedenacht meneer/mevrouw, "; break; case ($uur >= 6 && $uur < 12): 8 1.3voorwaarden

9 echo "Goedemorgen meneer/mevrouw, "; break; case ($uur >= 12 && $uur < 18): echo "Goedemiddag meneer/mevrouw, "; break; default: echo "Goedenavond meneer/mevrouw, "; break; echo "het is nu $uur uur."; echo '</p>'; Zo is de code toch nog wat overzichtelijker nietwaar? Opdracht 9 Met $maand = date('m') wordt er in de variabele $maand een getal geplaatst, afhankelijk van welke maand het op dit moment is. Dat getal zal dus een getal zijn uit de reeks van 1 t/m 12. Maak een PHP bestand, noem dit opdracht9.php, en plaats daar code in waarmee je met behulp van switch het getal omzet naar de maand in woorden. Zorg daarna dat de juiste maand op het scherm wordt afgedrukt. Om je even op weg te helpen: switch ($maand) { case 1: echo "januari"; break; case 2: echo "februari"; break; enz. Bestudeer nu verder de date() functie in PHP en zorg ervoor dat de volledige datum op Nederlandse wijze op het scherm komt te staan dus in de vorm van 30 september 2009 (maar dan met de huidige datum). 1.4 herhalingen Naast de voorwaarden met if of switch kennen we in PHP ook de herhalingen. Je wilt bijvoorbeeld een berekening een aantal keren herhalen. Of je wilt een tekstbestand regel voor regel lezen. Bij herhalingen kennen we while, do-while en for(). Allereerst een eenvoudig voorbeeld met while. Opdracht 10 Maak een nieuw bestand, geef het de naam opdracht10.php en zet er de volgende code in: <title>tot 3 tellen</title> <?php Hoofdstuk 1Wat is PHP? 9

10 echo "Ik kan tot drie tellen!"; echo "<p>"; $teller = 1; while ($teller <= 3) { echo "$teller <br>"; $teller++; echo "</p>"; Maak van dit programma (het PHP gedeelte) ook een PSD. Als je dat niet lukt, lees dan de ver - klaring hieronder en probeer het alsnog. Test het programma en probeer de werking van iedere regel te begrijpen. Hier de verklaring: $teller is een variabele die in het begin de waarde 1 krijgt. while ($teller <= 3) betekent: Doe, zolang $teller kleiner of gelijk is aan 3, de code die daarna tussen de accolades staat. echo "$teller <br>"; Met deze regel wordt de waarde van $teller afgedrukt. $teller++; Tel bij $teller 1 bij op. Met while stel je dus een voorwaarde en zolang daar aan voldaan wordt, wordt de code tussen de accolades uitgevoerd. while gebruik je als je die voorwaarde vooraf wilt stellen. Maar het is ook mogelijk de voorwaarde achteraf te stellen. In dat geval maak je gebruik van do-while. In de volgende opdracht gaan we dat uittesten. Opdracht 11 Maak een nieuw bestand, geef het de naam opdracht11.php en zet er de volgende code in: <title>while</title> <?php echo "<p>dit is de do-while<br>"; $teller = 5; do { echo "De teller is $teller <br>"; $teller--; while ($teller >= 6); echo "Deze telt dus wel omdat de while pas na<br>"; echo "het afdrukken van de teller staat!</p>"; echo "<hr><br><p>en dit is de while<br>"; $teller = 5; while ($teller >= 6) { echo "De teller is $teller <br>"; $teller--; ; echo "Maar deze telt niet mee omdat de while voor "; echo "het afdrukken van de teller staat.<br>"; herhalingen

11 echo "Daarom loopt hij dus niet door de while loop.</p>"; Maak van dit programma (het PHP gedeelte) ook een PSD. Met het PSD en de uitleg van de vorige opdracht moet dat nu wel lukken. Het verschil tussen while en do-while wordt pas zichtbaar wanneer de bewering die achter while staat meteen al onwaar is. Tenslotte de for lus. Deze is wat ingewikkelder omdat er in één opdracht zoveel informatie zit. De algemene uitdrukking is: for (begin; voorwaarde; opdracht) { hier kan aanvullende code komen die steeds opnieuw uitgevoerd wordt zolang de lus loopt. Je mag alle delen tussen de haakjes weg laten maar de ; s moeten blijven staan! for wordt vooral gebruikt om een aantal keren een stukje code te doorlopen. Maar het wordt het best duidelijk gemaakt aan de hand van een voorbeeld: Opdracht 12 Maak een nieuw bestand, geef het de naam opdracht12.php en zet er de volgende code in: <title>tafel van 7</title> <?php for ($teller = 1; $teller <= 10; $teller++) { $antwoord = $teller * 7; echo "$teller x 7 = $antwoord <br>"; ; Test de code en probeer deze regel voor regel te begrijpen. Het belangrijkste is hier uiteraard de for regel. In die regel beginnen we met: $teller = 1. Dat is de beginwaarde waarmee we gaan werken. Met het tweede gedeelte: $teller <= 10 geven we aan dat we net zo lang doorgaan als deze voorwaarde waar is. Tenslotte hebben we op die regel nog $teller++ waarmee we aangeven dat bij iedere keer dat we deze lus doorlopen, er steeds bij $teller één wordt bijgeteld. Herinner je je het volgende nog? Waar dient de * voor? Als je het niet meer weet, kijk dan in hoofdstuk 6 van Programmeren in HTML, CSS en JavaScript. Soms wil je dat een lus pas stopt nadat aan een bepaalde voorwaarde is voldaan. Dat kun je in de for lus zelf uiteraard doen, in het deel tussen de haakjes. Maar soms is die voorwaarde complexer en stoppen we dat in de code van de lus. We kunnen dan gebruik maken van de break opdracht. Zo zouden we de bovenstaande code ook als volgt hebben kunnen schrijven: Hoofdstuk 1Wat is PHP? 11

12 <?php for ($teller = 1;; $teller++) { if ($teller > 10) { break; $antwoord = $teller * 7; echo "$teller x 7 = $antwoord <br>"; ; Zoals je ziet wordt de code er zo niet echt overzichtelijker op. Daarom ook een waarschuwing: gebruik break alleen als je de code voor het einde van de lus echt niet in het deel tussen haakjes kwijt kunt. In dit voorbeeld is het dus echt onzinnig om break te gebruiken. Opdracht 13 Misschien heb je wel in de gaten dat de for lus erg veel lijkt op de while lus. Maak een nieuw bestand, geef het de naam opdracht13.php en zorg dat hij hetzelfde doet als opdracht 12. Maar doe het nu met een while lus. 1.5 even terug naar HTML We gaan weer even terug naar HTML. We hebben daar destijds een formulier gebruikt met behulp van de codes: <form name="mijnform"> Met PHP kunt je echter de gegevens uit zo n formulier ook terug naar de webserver sturen en ze daarna in een ander formulier weer laten gebruiken. Dat doen we via de het action attribuut van het formulier. We geven daarmee aan waar de gegevens van dat formulier naar toe gestuurd moeten worden als we op de submit knop klikken. Daarnaast moeten we aangeven met welke methode we de gegevens door willen zenden. We hebben daarbij de keuze uit get en post. In het volgende voorbeeld gebruiken we get. Opdracht 14 Maak een programma met de naam opdracht14.php met daarin de volgende code: <title>kies je kleur!</title> <h1>welkom op deze pagina!</h1> <h2>zoek zelf een kleur uit voor je pagina<br> Je kunt kiezen uit de volgende kleuren:</h2> <form name="kleur" method="get" action="achtergrond.php"> <select name="kleuren"> <option value="red" selected="selected">rood</option> <option value="blue">blauw</option> <option value="yellow">geel</option> <option value="green">groen</option> <option value="brown">bruin</option> <option value="indianred">indisch rood</option> even terug naar HTML

13 <option value="lightcoral">licht koraalrood</option> <option value="salmon">zalmroze</option> <option value="darksalmon">zalmrood</option> <option value="orangered">oranjerood</option> <option value="firebrick">vuursteen</option> <option value="darkred">donkerrood</option> <option value="greenyellow">groengeel</option> <option value="chartreuse">limoen</option> <option value="lightcyan">cyaan</option> <option value="aqua">aqua</option> <option value="darkblue">donkerblauw</option> </select> <br> <input type="submit" name="submit" value="doen"> </form> Maak nu ook een programma aan met de naam achtergrond.php met de volgende code: <title>achtergrondkleuren</title> <body bgcolor="<?php echo $_GET["kleuren"]; "> <h1>zie hier, jouw favoriete kleur!!!</h1> <h3><a href="opdracht14.php">opnieuw</a></h3> Als je het bovenstaande test en je ziet een nieuwe pagina starten als je een achtergrondkleur kiest en op de knop doen geklikt hebt, dan heb je vast ook al een redelijk idee wat er in deze programma s gebeurt. Eerst het programma opdracht14.php. Daarbinnen zie je met de regel: <form name="kleur" method="get" action="achtergrond.php"> een formulier gedefinieerd met de naam kleur. De methode is get en de actie die moet worden ondernomen is achtergrond.php. De methode get zorgt voor het verzenden van de gegevens naar de pagina die achter action staat, dus in dit geval naar achtergrond.php. Maar dat verzenden gebeurt pas als er op de submit knop geklikt wordt. Die submit knop wordt aangemaakt met de regel: <input type="submit" name="submit" value="doen"> En wat wordt er nu eigenlijk overgestuurd naar dat andere formulier? Dat kunnen alle waarden van de variabelen zijn die voorkomen in form name="kleur". Immers dat form heeft als actie de koppeling met achtergrond.php. In dit form gaat het om de variabele kleuren. Deze variabele wordt gevuld als de gebruiker een kleur selecteerd, dus in het selectieveld een keuze maken. Het selectieveld met al zijn opties is het deel dat begint met: <select name="kleuren"> <option value="red" selected="selected">rood</option> <option value="blue">blauw</option> enz. Hoofdstuk 1Wat is PHP? 13

14 en eindigt met </select>. Met een selectieveld kunnen we vooraf vastgelegde keuzes aanklikken in een soort van pulldown menu. De keuzes die we hier willen laten zien, staan in de option regels. Die opties hebben allemaal een waarde die is vastgelegd achter value en deze waarde komt tijdens het selecteren in de variabele kleuren van het selectieveld terecht. En wat gebeurt er in achtergrond.php? Wanneer we in de pagina achtergrond.php met $_GET["kleuren"] de inhoud van de select-variabele met de naam kleuren weer opvragen krijgen we de geselecteerde kleur en zoals je in deze regel ziet: <body bgcolor="<?php echo $_GET["kleuren"]; "> kunnen we in de html-code een stukje PHP invoegen door het tussen <?php en te zetten. (Om het een beetje eenvoudig te houden gebruiken we hier de opmaakcode bgcolor in de HTML code. Dat is niet zo mooi want zoals je eerder gezien hebt willen we graag de opmaakcodes in een apart CSS bestand vastleggen.) Tenslotte wordt er een link terug naar opdracht14.php gegeven zodat we opnieuw een keuze kunnen maken. Opdracht 15 Kijk naar de bron van de pagina achtergrond.php en schrijf op hoe de regel <body bgcolor="<?php echo $_GET["kleuren"]; "> er daarin uitziet. Belangrijk: probeer van iedere regel in de bovenstaande programma s te begrijpen waarvoor ze er staan en wat hun effect is. Bij de volgende opdrachten kom je soms stukjes tegen die niet in dit boek vermeld staan. Het is dan aan jou om het toch op te lossen met behulp van informatie van het internet. Je mag hier ook gebruik maken van HTML en JavaScript waar dat nodig is maar de functies moeten in PHP geschreven worden. Opdracht 16 Maak, met behulp van een for lus, 6 keer de bekende Hello World regel waarbij de koppen van die regels lopen van <h1> tot/met <h6>. Opdracht 17 Maak een tekstveld waarin de temperatuur ingevuld kan worden. Als het 28 graden of meer is, komt er een melding Pak de koelbox maar in, we gaan naar het strand. Als het minder dan 28 graden is, komt de melding Laten we maar gaan scrabbelen. Opdracht 18 Maak een pagina met drie tekstveldjes waarin je een naam, eventueel tussenvoegsel en achternaam invult. Als je op een submit knop drukt, wordt die naam aan elkaar geplakt. Opdracht 19 Je kunt for lussen ook binnen elkaar gebruiken. Dat noemen we nesten. Maak een programma met twee for lussen binnen elkaar dus in de vorm van: even terug naar HTML

15 for (...) {... for (...) { ; ; Dit programma moet de tafels van 7, 8 en 9 afdrukken. In de buitenste for lus laat je dus de teller oplopen van 7 tot 9, in de binnenste for lus laat je de tafel afdrukken. Opdracht 20 Maak een pagina met een inlognaam en een wachtwoord die een tweede pagina opent met ad - min als inlognaam en pietje als wachtwoord gebruikt wordt. Opdracht 21 Maak een zeer eenvoudige rekenmachine die twee getallen bij elkaar op kan tellen als je op een submit knop klikt. Opdracht 22 Als opdracht 21 maar nu moet hij i.p.v. optellen de beide getallen met elkaar vermenigvuldigen. Opdracht 23 Maak een programma met een lus waarbij de getallen 1 t/m 10 bij elkaar worden geteld. Opdracht 24 Maak een pagina waarop je online een pizza kunt bestellen. Er is een keuze uit pepperoni, ananas, ansjovis en broccoli op de pizza. Als je op de submit knop drukt verschijnt er een nieuwe pagina waarop staat welke pizza je hebt besteld. Gebruik radiobuttons! 1.6 gegevens opslaan In het vorige hoofdstuk hebben we al geleerd hoe we gegevens met behulp van PHP door kunnen geven naar een andere pagina. Het is ook mogelijk de gegevens op te slaan in een tekstbestand of een database. Iets wat je vaak ziet is een teller waarmee wordt bijgehouden hoe vaak een pagina is bezocht. Dat is niet een getal dat je aan een andere pagina door kunt geven want het verschijnt op de pa - gina zelf. Maar ook als je de pagina afsluit en hem later weer opent moet je de teller weer op kunnen roepen. Dus we gaan de waarde van de teller op de server opslaan en roepen die later weer op. Laten we eerst eens kijken wat we zo allemaal nodig hebben als we dit willen realiseren. Kortom, wat moeten we doen als we willen bijhouden hoe vaak iemand op die pagina is geweest. Onderstaande opsomming geeft hier een beeld van: Het aantal keren dat de pagina bezocht is, is een getal; Hoofdstuk 1Wat is PHP? 15

16 Dat getal willen we ergens opslaan maar dusdanig dat we het ook weer kunnen opvragen en wijzigen; We zouden het op kunnen slaan in een tekstbestand; Als dat tekstbestand al bestaat moet het geopend worden, moeten we de inhoud (het getal) uitlezen, moeten we bij dat getal 1 bijtellen en het dan weer bewaren; Als dat tekstbestand nog niet bestaat, moeten we het maken, er het getal 1 in zetten en het daarna weer opslaan; Als je een tekstbestand opent moet je het ook weer sluiten; We hebben dus een php-script nodig dat iedere keer als de pagina van de server wordt opge - vraagd, het getal in het tekstbestand opvraagt, ophoogt en weer wegschrijft. En bij het allereer - ste bezoek hoeft hij alleen maar het bestand te maken en op te slaan met het getal 1 erin. We kunnen binnen PHP gebruik maken van de zogenaamde low-level file functies. Hier een opsomming: Functie Wat doet hij Syntax fopen() Opent een bestand waarbij je in kunt stellen of dat bestand alleen gelezen mag worden of ook gewijzigd. Als het bestand geopend is kun je daar naar verwijzen dankzij de zogenaamde file-pointer. $fp = fopen("{bestandsnaam", "r+"); $fp is hier de file-pointer. Een variabele waarmee wordt onthouden om welk bestand het gaat. {bestandsnaam Hier vul je de bestandsnaam in die je wilt gebruiken of de naam van het bestand dat je wilt opvragen. "r+" is het attribuut. Het attribuut bepaald hoe het bestand geopend wordt. Zie voor een volledig overzicht tabel 2. fclose() Sluit het bestand dat hoort bij de file-pointer weer. fclose($fp); fputs() fgets() Schrijft een aantal karakters (een string) naar het bestand dat wordt aangeduid met de file-pointer Leest een aantal karakters (een string) uit het bestand dat wordt aangeduid met de file-pointer en plaatst die string in een variabele. Er wordt steeds één regel ingelezen. fputs($fp,{string); ${variabele = fgets($fp); rewind() Zorgt ervoor dat bij de volgende keer lezen van of schrijven naar het bestand aangeduid met de file-pointer, begonnen wordt aan het begin van het bestand. rewind($fp); file_ exists() Geeft een true als het bestand al bestaat, anders een false. file_exists("{bestandsnaam") Tabel 1: De file functies In de volgende tabel zie je de attributen die je bij fopen() kunt gebruiken gegevens opslaan

17 Attribuut Betekenis "r" "r+" "w" "w+" Hiermee open je een bestand om het te lezen (read) De file-pointer staat aan het begin van het bestand. Hiermee open je een bestand om het te lezen en om er naar te schrijven. De file-pointer staat aan het begin van het bestand. Hiermee open je een bestand om te schrijven (write). Maakt het bestand aan als het nog niet bestaat. Als het wel al bestaat wordt het bestand overschreven. Hiermee open je een bestand om te lezen en te schrijven. Maakt het bestand aan als het nog niet bestaat. Als het wel al bestaat wordt het bestand overschreven. "a" Hiermee open je een bestand om te schrijven waarbij de file-pointer aan het eind van het be - stand staat (append). Als het bestand nog niet bestaat, wordt het aangemaakt. "a+" Hiermee open je een bestand om te lezen en te schrijven waarbij de file-pointer aan het eind van het bestand staat (append). Als het bestand nog niet bestaat, wordt het aangemaakt. Tabel 2: De attributen van fopen() Die tabellen mogen dan wel alle informatie geven, toepassen in de praktijk maakt het pas echt duidelijk. Dus de volgende opdracht. Opdracht 25 Maak een bestand met de naam opdracht25.php. In opdracht25.php komt de volgende code te staan: <title>bezoekersteller</title> <?php if (file_exists("teller.txt")) { $fp = fopen("teller.txt", "r+"); $teller = fgets($fp); $teller++; rewind($fp); fputs($fp, $teller); fclose($fp); else { $fp = fopen("teller.txt", "w"); $teller = "1"; fputs($fp, $teller); fclose($fp); U bent de <?php echo $teller e bezoeker van deze pagina! Hoofdstuk 1Wat is PHP? 17

18 Test het programma uit en bekijk het resultaat. Als het goed is zal bij iedere keer dat je de pagina weer opent of ververst de paginateller er één bij hebben geteld. Bekijk ook eens het bestand teller.txt in de map htdocs. Je zult zien dat het laatst bewaarde getal daar in staat. Wat gebeurt er in dit programma allemaal? Met behulp van de tabellen moet het mogelijk zijn de PHP regels te doorgronden. Als je het bestand teller.txt gezien hebt dan begrijp je dat we daarin onthouden hoe vaak de pagina bezocht is. De regel if (file_exists("teller.txt")) controleert of het bestand teller.txt wel bestaat. Bestaat teller.txt niet (dit is het geval als we dit programma voor de eerste keer starten) dan gaat hij naar het gedeelte achter de else maar bestaat teller.txt wel dan gaat het programma gewoon verder. Met $fp = fopen("teller.txt", "r+"); wordt het bestand teller.txt geopend. De r+ geeft aan (zie tabel 2) dat het programma geopend moet worden om het te lezen en ernaar te kunnen schrijven. $fp is de file-pointer die bijhoudt welk bestand geopend is en waar in het bestand hij aan het lezen is. De regel $teller = fgets($fp); zorgt ervoor dat er een regel van teller.txt wordt ingelezen en in de variabele $teller worden gestopt. Daarna wordt er bij de variabele $teller met de zin $teller++; één bijgeteld. Met rewind($fp); wordt de file-pointer weer aan het begin van het bestand gezet. Met de regel fputs($fp, $teller); wordt de inhoud van $teller weer teruggeschreven naar het bestand teller.txt. Dankzij $fp weet hij nog om welk bestand het gaat en om welke positie binnen dat bestand. Had je niet teruggezet dan zou de nieuwe waarde van $teller achter de al bestaande zijn geplakt. En dat is niet de bedoeling! Met fclose($fp); wordt het bestand teller.txt weer afgesloten. Opdracht 26 Verklaar de 4 regels die na de else staan op dezelfde manier als hier boven. In plaats van een getal kun je natuurlijk ook tekst opslaan. Laten we dat eens doen in de volgende opdracht. Opdracht 27 Maak een bestand met de naam opdracht27.php waarin de volgende code komt te staan: <?php if (!empty($_get)) { $naamnieuw = $_GET["naam"]; if (file_exists("naam.txt")) { $fp = fopen("naam.txt", "r"); $naam = fgets($fp); fclose($fp); $fp = fopen("naam.txt", "w+"); echo "Jouw naam is dus $naamnieuw"; if ($naamnieuw!= $naam) { gegevens opslaan

19 echo "<br>maar de vorige keer heette je nog $naam"; fputs($fp, $naamnieuw); fclose($fp); else { $fp = fopen("naam.txt", "w"); $naamnieuw = $_GET["naam"]; fputs($fp, $naamnieuw); fclose($fp); <form name="naamform" method="get" action="<?php echo $_SERVER["PHP_SELF"]"> Vertel mij jouw naam <input type="tekst" name="naam" value=""> <br> <br> <input type="submit" name="submit" value="opslaan"> </form> En getest? Werkt hij goed? Er staat niet zoveel nieuws in dit programma maar toch gebeuren er wel bijzondere dingen. Je ziet get als methode in de code staan maar toch wordt dat niet doorgegeven aan een ander stukje PHP-code. Wel zien we hier heel duidelijk dat de code uit twee gedeelten bestaat. In de head sectie staat heel veel PHP-code en in de body zien we een formulier met alleen in de action wat PHP. Kijk eerst eens naar de php-code in de head sectie. Met if (!empty($_get)) controleert het programma of er via $_GET een waarde beschikbaar is. Maar aangezien er de eerste keer nog niets ingevuld is slaat hij domweg de rest van het PHP gedeelte in de head sectie over en laat hij het formulier zien dat in de body staat. Dus dan maar eens het formulier bekijken. Daarin staat als action aangegeven: action="<?php echo $_SERVER["PHP_SELF"]" Het attribuut "PHP_SELF" wijst naar zichzelf. Dat betekent dat hij niet een ander PHP programma aanroept maar zichzelf. Beetje bijzonder natuurlijk maar als hij zichzelf opnieuw aanroept, dan is de variabele, of beter gezegd de matrix van variabelen $_GET wel gevuld en doorloopt hij dan dus het PHP gedeelte in de head sectie wel. Opdracht 28 Verklaar alle regels van opdracht 27. Weet je niet wat een bepaalde regel doet? Zoek het dan op via internet of laat zo n regel eens weg om te zien wat het resultaat ervan is. Opdracht 29 Waarom stond er in dit programma niet de regel: rewind($fp);? Hoofdstuk 1Wat is PHP? 19

20 Opdracht 30 Kun jij een reden bedenken waarom met deze regels fclose($fp); $fp = fopen("naam.txt", "w+"); het bestand eerst gesloten wordt en meteen daarna weer geopend? Opdracht 31 Maak nu een soortgelijk programma als in opdracht 27 maar nu met 3 invulvelden, naam, adres en woonplaats. Zorg ervoor dat het bestand waar je gegevens in worden opgeslagen niet iedere keer weer gewist wordt maar dat de gegevens steeds aan het einde van het bestand er aan toegevoegd worden. (Welk attribuut moet je dan bij fopen() gebruiken?) 1.7 GET of POST Tot nu toe hebben we steeds get gebruikt om gegevens van de ene webpagina naar de andere (of dezelfde) webpagina door te geven. Maar er is nog een andere methode, namelijk post. Misschien is het je wel al opgevallen. Als je get gebruikt verschijnen de gegevens die je met get wilt versturen in de URL van de nieuwe webpagina die je opvraagt. Dat kan heel handig zijn als je fouten aan het zoeken bent. Dan weet je tenminste wat er doorgegeven wordt. Maar het zal duidelijk zijn dat dat helemaal niet handig is om een wachtwoord door te geven. Dan wil je juist niet dat het zichtbaar is! De get variabelen worden ook opgeslagen in de logbestanden op de webserver en passeren ongecodeerd diverse routers op het internet. Gemakkelijk voor kwaadwilligen om ze te onderscheppen. Tenslotte heeft get nog een nadeel: de lengte van een de tekst die je met get doorgeeft is beperkt tot maximaal 8 KB. Om die reden heeft men een tweede methode bedacht, namelijk post. Voor onze toepassingen maakt het niet uit of we post of get gebruiken. Maar wanneer de veiligheid in het geding komt, gebruik dan post! In de volgende oefening zullen we de post methode toepassen. Opdracht 32 In deze opdracht maken we een gastenboek. Je kent ze ongetwijfeld, de websites die je de mogelijkheid geven om te reageren op iets. Allereerst maken we een gastenboek waarmee je de gegevens in een gewoon tekstbestand op slaat. Later gaan we de gegevens opslaan in een echte database. Maak een php-bestand en sla dat op onder de naam opdracht32.php. Typ daarin de volgende code: <title>gastenboek</title> <h2>gastenboek met PHP</h2> <hr> <?php echo date("d-m-y, G:i"); <hr> GET of POST

21 <br> Wat wil je gaan doen? <ul> <li><a href="gastenboekschrijven.php"> Schrijf in het gastenboek</a></li> <br> <li><a href="gastenboeklezen.php"> Lees het gastenboek</a></li> </ul> Test jouw code. Krijg je hetzelfde scherm als afbeelding 1? In dit programma gebeurt nog niet echt wat nieuws. Er zit ook nauwelijks php-code in maar het is wel weer een mooi voorbeeld van hoe je midden in jouw html-code php kunt invoegen. De menukeuze wordt hier met behulp van een ongeordende lijst gemaakt. Kijk eventueel bij de html hoofdstukken als je niet meer weet hoe die precies werkt. Afbeelding 1: Gastenboekmenu Het zal duidelijk zijn dat de links nog niet werken. Daarvoor zullen we eerst de bestanden gastenboekschrijven.php en gastenboeklezen.php moeten maken. Maak een php-bestand en sla dat op onder de naam gastenboekschrijven.php. Typ daarin de volgende code: <title>in het gastenboek schrijven</title> <form action="opslaan.php" method="post"> <p> De gegevens die u via het volgende formulier invult, worden op het gastenboek geplaatst en zullen voor iedereen zichtbaar zijn. </p> <p> Naam: <br> <input name="naam" type="text" size="40" tabindex="1"> </p> <p> (optioneel)<br> <input name=" " type="text" size="40" tabindex="2"> </p> <p> Woonplaats: (optioneel)<br> <input name="woonplaats" type="text" size="40" Hoofdstuk 1Wat is PHP? 21

22 tabindex="3"> </p> <p> Uw bericht: <br> <textarea name="bericht" rows="8" cols="40" tabindex="4"> </textarea> </p> <p> <input type="submit" name="submit" value="verstuur" title="verstuur dit formulier" tabindex="5"> </p> </form> Ook dit is een bestand zonder php-code. Er is bewust voor gekozen de php-code buiten dit programma te houden. Met PHP-SELF was het wel mogelijk geweest dit in één bestand te plaatsen maar dan zou het nogal onoverzichtelijk worden. Bovendien geeft dit de mogelijkheid om later een andere manier van opslaan te kiezen, bijvoorbeeld in een database. Het betekent wel dat we straks ook nog een bestand opslaan.php moeten maken. Het allereerste nieuwe is het gebruik van method="post". Bij het bestand opslaan.php zullen we daar ook rekening mee moeten houden. Bij de input-tag zien we de size en tabindex attributen. Met size geven we aan hoe groot het invulveld moet zijn. Met tabindex geven we de volgorde aan waarmee we door het formulier willen gaan. Je weet ongetwijfeld dat je met de Tab-toets van het ene veld naar het andere kunt springen. Als je tabindex gebruikt kun je daarmee die volgorde nummeren. Tenslotte maken we hier gebruik van de textarea tag waarbij we het aantal rijen en kolommen aangeven. Experimenteer gerust met de getallen daarbij om te zien wat het effect is. En dan nu het echte opslaan! Maak een php-bestand en sla dat op onder de naam opslaan.php. Typ daarin de volgende code: <?php $bestandsnaam = "gastenboek.txt"; $datum = date("d-m-y, G:i"); // gastenboek openen of maken if (!$fp = fopen($bestandsnaam, "a+")){ echo "<h2>het lukt niet om het gastenboek te openen</h2>"; exit; // het wegschrijven van de gegevens fputs($fp, $datum); fputs($fp, "\n"); fputs($fp, $_POST["naam"]); fputs($fp, "\n"); fputs($fp, $_POST[" "]); fputs($fp, "\n"); fputs($fp, $_POST["woonplaats"]); fputs($fp, "\n"); fputs($fp, $_POST["bericht"]); fputs($fp, "\n"); fclose($fp); echo "<h2>klaar</h2>"; echo "<p>de bijdrage is opgeslagen</p>"; GET of POST

23 echo "<a href = \"opdracht32.php\">terug naar het beginscherm</a>"; Hier hebben we dan eindelijk volop php-code. Maar echt moeilijk is het niet. Laten we de belangrijkste zaken even doornemen. Allereerst wordt met $bestandsnaam = "gastenboek.txt" aangegeven in welk bestand de gegevens zullen komen. Omdat we er ook de datum bij willen hebben zoeken we die vast op met $datum = date("d-m-y, G:i"). Dan wordt de bestandsnaam geopend met het attribuut "a+". Zoek maar op wat dat attribuut doet. Vooropgesteld dat het lukt om het bestand te openen (met if (!$fp = fopen($bestandsnaam, "a+")) wordt dat gecontroleerd) krijg je daarna een aantal fputs opdrachten waarmee dan de betreffende gegevens worden weggeschreven. Met $fp (de filepointer) wordt aangegeven waarin het moet worden weggeschreven en bijgehouden op welke plaats in het bestand. Na ieder gegeven dat wordt weggeschreven volgt een fputs($fp, "\n"). Daarmee wordt de code voor een nieuwe regel (zeg maar de [Enter] toets) weggeschreven. Anders zou je al je tekst achter elkaar aan krijgen. En dat is niet de bedoeling. Tenslotte nog even de laatste zin: echo "<a href = \"opdracht32.php\">terug naar het beginscherm</a>" Alles wat na echo komt moet tussen aanhalingstekens (") staan. Maar als je daarbinnen ook nog de aanhalingstekens wilt gebruiken moet je iets doen om te voorkomen dat de computer denkt dat de echo-regel al weer afgelopen is. En dat kan door er een backslash voor te plaatsen zoals gebeurt bij \"opdracht32.php\". Als alles goed werkt dan krijg je aan het eind de melding: De bijdrage is opgeslagen. Maar kun je die ook zien? In jouw htdocs map staat nu een bestand gastenboek.txt. Als je dat opent zie je, als het goed gegaan is, dat wat je op het scherm hebt ingevuld. Maar uiteraard is het veel te lastig om zo de bijdragen in het gastenboek te lezen. We zullen nog één programma moeten maken, namelijk gastenboeklezen.php. Maak een php-bestand en sla dat op onder de naam gastenboeklezen.php, en typ daarin de volgende code: <title>het gastenboek lezen</title> <?php $bestandsnaam = "gastenboek.txt"; // aantal regels per bijdrage om in te lezen // elke bijdrage bestaat uit 5 regels $aantal_regels = 5; // teller om bij te houden hoeveel regels // zijn gelezen $teller = 0; // Aantal bijdragen wordt bijgehouden. $aantal_bijdragen = 0; // gastenboek openen om te lezen if (file_exists($bestandsnaam)){ Hoofdstuk 1Wat is PHP? 23

24 $fp = fopen($bestandsnaam, "r"); else{ echo "<h2>het gastenboek is nog leeg!</h2> <a href=\"gastenboekschrijven.php\"> Wees de eerste die erin schrijft!</a> "; exit; while (!feof($fp)){ $regel = fgets($fp); if (!feof($fp)){ if ($teller % $aantal_regels == 0){ // kop afdrukken $aantal_bijdragen++; echo "<hr>"; echo "<h3>bijdrage: $aantal_bijdragen</h3>"; // regel afdrukken echo "$regel <br>"; $teller++; echo "<a href=\"opdracht32.php\">terug naar de homepage</a>"; Het eerste deel zal, zeker met de commentaarregels erin, niet zo moeilijk te begrijpen zijn. Laten we naar het tweede gedeelte kijken: De while (!feof($fp)) regel start een zogenaamde loop. Je zou die kunnen vertalen met: Doe zolang (while) je nog niet (!) het eind (feof) van het bestand ($fp) hebt bereikt alles wat daarna tussen accolades staat. En tussen de accolades komen we eerst $regel = fgets($fp) tegen. Met fgets worden de regels van $fp één voor één uitgelezen en in de variabele $regel gestopt. Daarna vraagt hij opnieuw met if (!feof($fp)) of hij aan het eind van het bestand is gekomen. Met de voorgaande code-regel heeft hij immers een regel van het bestand ingelezen dus het zou kunnen dat hij daarna wel aan het eind was. Dit lijkt een beetje vreemd maar het probleem is dat als hij de laatste regel heeft ingelezen, hij nog niet weet of hij daadwerkelijk aan het eind van het bestand is gekomen. Want het inlezen van die laatste regel ging immers nog prima. Maar pas als hij probeert een regel na de laatste regel in te lezen zal de functie feof(...) een true als resultaat geven en dus is dan pas duidelijk dat het bestand helemaal gelezen is. Hier gaat het eigenlijk alleen maar om de vraag of de kop moet worden afgedrukt. In eerste instantie zal hij nog niet aan het eind van het bestand zijn dus komt hij bij de regel if ($teller % $aantal_regels == 0). Het procentteken hier is de modulus functie. Met de modulus functie wordt de rest berekend van een deling. Dus hier staat: als je $teller deelt door $aantal_regels en de rest is 0, doe dan wat er tussen de accolades staat. Daarmee zorgt hij ervoor dat er na iedere 5 regels een lijn <hr> geplaatst wordt en dat daarna het nummer van de volgende bijdrage op het scherm komt. $teller telt het aantal regels dat ingelezen is. $aantal_regels geeft aan hoeveel regels één bericht bevat. Dus als $teller een veelvoud is van 5 wordt $aantal_bijdragen met één verhoogd, wordt er een horizontale lijn getekend en wordt de volgende kopregel met het bijdragenummer op het scherm getoond GET of POST

25 Bij de allereerste keer heeft $teller nog de waarde 0, zal de deling dus een rest van 0 opleveren en wordt de kop afgedrukt. Daarna wordt de eerste regel van het bericht afgedrukt. Met $teller++ wordt de regelteller met 1 verhoogd waarna de while loop opnieuw doorlopen wordt, alle regels worden afgedrukt en bij iedere 5de regel wordt er ook een kop afgedrukt. En dat heeft je dus een werkend gastenboek opgeleverd. Alleen één ding mis je met dit gastenboek wel. Alle bijdragen verwijderen kan eenvoudig door gastenboek.txt van jouw schijf te verwijderen maar het zou handig zijn om gewoon via dit programma ook één bijdrage uit de reeks te kunnen verwijderen. Om dat te kunnen gaan we het gastenboek later onderbrengen in een database. Opdracht 33 Probeer het programma dusdanig te wijzigen dat niet alleen de regels afgedrukt worden maar voor elke regel ook staat wat het is. Dus niet alleen: pietje@hotmail.com maar: pietje@hotmail.com Bijvoorbeeld zoals in afbeelding 2. Tip: je kunt strings (tekstregels) aan elkaar koppelen in PHP door er een punt tussen te zetten. Zoals: fputs($fp, "Datum: ". $datum); Afbeelding 2: Gastenboek lezen met aanduiding voor elke regel Opdracht 34 Wat gebeurt er als je in het berichtenveld op [Enter] drukt? Controleer of het wel goed werkt! Heb je een idee hoe je dat op zou kunnen lossen? Opdracht 35 Pas het gastenboek dusdanig aan dat je gebruik maakt van een apart CSS bestand waarin de opmaak geregeld wordt. In dat CSS bestand (dat voor alle bij het gastenboek gebruikte programma s moet gelden) moeten in ieder geval zaken geregeld worden als de achtergrondkleur, de link kleuren en de lettertypen. Opdracht 36 Pas het gastenboek dusdanig aan dat steeds na iedere bijdrage een horizontale lijn krijgt i.p.v. voor iedere bijdrage. Afbeelding 3: Gastenboek lezen met horizontale lijn onder de bijdrage Hoofdstuk 1Wat is PHP? 25

26 2 PHP met database Eén van de meest voorkomende toepassingen van PHP op een webserver is die waarbij PHP contact maakt met een database. Omdat we al gewend zijn aan het werken met XAMPP zullen we nu ook het MySQL gedeelte daarvan gaan gebruiken. En die MySQL database gaan we benaderen met behulp van PHP met de zogenaamde PDO extensie. PDO is de afkorting van PHP Data Objects. Het is gemaakt om diverse databases te kunnen be - naderen zonder al teveel aan de PHP-code te moeten veranderen. Het is als het ware wat extra software tussen PHP en de database. Laten we eerst de belangrijkste mogelijkheden ervan bekijken. Het eerste wat je moet doen om vanuit PHP met een database te kunnen werken is de verbinding naar die database tot stand te brengen. Gelukkig is dat niet zo heel erg moeilijk. Als je dan gebruik gemaakt hebt van de database moet je de verbinding ook weer sluiten. Dat gaat als volgt in een stukje PHP-code: <?php // Maken van verbinding $db = new PDO('mysql:host=localhost;port=3307;dbname=test', 'root', 'usbw'); // Dan komt hier de code waarin je gebruik maakt //van de database // Tenslotte de verbinding weer sluiten $db = NULL; Wat je in feite hier doet is een nieuwe (new) instantie (object) van de PDO klasse maakt. Bij het aanmaken ervan wordt met ('mysql:host=localhost;port=3307;dbname=test','root', 'usbw') een aantal parameters meegegeven. Het zal duidelijk zijn dat PHP hier een verbinding wil aanmaken met mysql. Met host=localhost wordt aangegeven dat het om een database gaat die op dezelfde computer draait als waar ook PHP werkt. Met port=3307 wordt aangegeven op welke poort van de computer de communicatie met de database plaats vindt. Met dbname=test wordt in MySQL verbinding gezocht met een database met de naam test. Tenslotte wordt er met 'user', 'password' een gebruikersnaam en wachtwoord meegegeven. 26 2PHP met database

27 Het nieuwe object wordt dan aangemaakt en er wordt in de objectvariabele $db een verwijzing naar dat object opgeslagen. De verbinding met de database kun je weer sluiten door de verwijzing in de objectvariabele $db gelijk te stellen aan NULL waarna het object niet meer bestaat. Laten we het eens met een echte database proberen en kijken wat we er dan mee kunnen. Let op: het volgende deel komt uit de module Databases & SQL. Heb je dat bewaard dan heb je de database al geïmporteerd en hoef je dat natuurlijk niet opnieuw te doen. Om goed te oefenen met SQL kunnen we natuurlijk een groot oefenbestand aanmaken. Handiger is het gebruik te maken van een reeks SQL opdrachten die in een bestand zitten. Bekijk het bestand winkel.sql (je krijgt dat van je docent of het staat in de elo) maar eens met Notepad++. Je ziet dan een aantal SQL opdrachten waarmee eerst de database wordt aangemaakt, daarna de tabellen en die worden ook met behulp van een SQL opdracht gevuld met gegevens. Een dergelijk bestand noemen we een SQL-dump. Met MySQL kun je ook zo n dump maken waarmee je dus een backup van jouw gegevens hebt. Maar nu gebruiken we het om de gegevens in MySQL te importeren. Opdracht 11 Start phpmyadmin Klik op de tab Klik op bestand kiezen en selecteer het bestand winkel.sql Klik op Start Als het goed gegaan is krijg je de melding: Import is geslaagd, 7 queries uitgevoerd. Dat betekent dat we nu de beschikking hebben over een bestand om mee te oefenen. Maar voor we aan de slag gaan is het goed nog even te kijken naar de structuur van de tabellen die we nu in de database winkel hebben. Want om goed te kunnen oefenen moet je de velden kennen. Door het bestand winkel.sql werden met de CREATE TABLE opdracht de volgende twee tabellen gemaakt: klanten klantnummer voornaam achternaam woonplaats provincie bestelde_artikelen klantnummer order_datum artikel hoeveelheid prijs In de SELECT opdrachten zullen we gebruik maken van de namen van de velden. Hoofdstuk 2PHP met database 27

Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op

Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op 1 Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP.... 8 Joomla installeren op XAMPP... 15 Handige links... 16 2 Disclaimer Bij de samenstelling

Nadere informatie

Test Joomla op je PC 1

Test Joomla op je PC 1 1 Disclaimer Bij de samenstelling van dit ebook is de grootst mogelijke zorg besteed aan de juistheid en correctheid van de informatie die in dit ebook wordt verstrekt. De auteur van dit ebook kan op geen

Nadere informatie

Formulieren maken met Dreamweaver CS 4/CS 5

Formulieren maken met Dreamweaver CS 4/CS 5 Formulieren maken met Dreamweaver CS 4/CS 5 In deze handleiding leer je om een formulier en elementen die je binnen een formulier kunt gebruiken, te ontwerpen met Dreamweaver. Het uitgangspunt is dat dit

Nadere informatie

van PSD naar JavaScript

van PSD naar JavaScript 2015 van PSD naar JavaScript F. Vonk versie 2 19-9-2015 inhoudsopgave 1. inleiding... - 2-2. ontwikkelomgeving... - 3-3. programmeerconcepten... - 4 - statement... - 4 - sequentie... - 4 - variabele en

Nadere informatie

Inhoudsopgave... 1 Disclaimer... 3 Voorwoord... 3 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op

Inhoudsopgave... 1 Disclaimer... 3 Voorwoord... 3 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op 1 Inhoudsopgave... 1 Disclaimer... 3 Voorwoord... 3 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op XAMPP... 14 Handige links... 15 2 Disclaimer Bij de

Nadere informatie

De tag aan het begin van het PHPscript is "<?php" aan het einde van het PHPscript gebruik je "?>".

De tag aan het begin van het PHPscript is <?php aan het einde van het PHPscript gebruik je ?>. PHP Les 3 Commando ECHO Interessante links: o http://www.donboscozwijnaarde.be/~moermant/ o http://php.net/manual/en/function.echo.php o http://www.w3schools.com/php/default.asp Wat is PHP? PHP is een

Nadere informatie

Over PHP. PHP en MySQL. 1.1 Inleiding. In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze

Over PHP. PHP en MySQL. 1.1 Inleiding. In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze Over PHP 1.1 Inleiding In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze programmeertaal? En hoe is het ontstaan? Ook leer je welke editors je kunt gebruiken om PHP-scripts te maken en hoe je eenvoudig

Nadere informatie

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python. 1 Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python. Voordat je leert programmeren, moet je jouw pc zo instellen dat

Nadere informatie

USB Webserver installatie en gebruik

USB Webserver installatie en gebruik 2014 USB Webserver installatie en gebruik F. Vonk versie 2 14-8-2014 Inhoudsopgave 1. Inleiding... - 2-2. Installatie... - 3-3. USB Webserver... - 4-4. De MySQL omgeving... - 5-5. Een PHP script runnen...

Nadere informatie

Een formulier ontwerpen

Een formulier ontwerpen Een formulier ontwerpen Op iedere professionele website is tegenwoordig wel een formulier te vinden, dat door de bezoeker van de website kan worden ingevuld. Formulieren op websites worden voor verschillende

Nadere informatie

Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby?

Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby? 1 Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby? Voordat je begint met programmeren, moet je Ruby installeren.

Nadere informatie

Voor vragen: http://www.richard3332.nl/ of mail naar Richard3332@gmail.com

Voor vragen: http://www.richard3332.nl/ of mail naar Richard3332@gmail.com Welkom bij mijn PHP tutorial (Deel 1) Ik ga in deze delen PHP uitleggen, dit doe ik in het programma notepad++ (gratis) deze kunt u downloaden van www.richard3332.nl/downloads.php Als u beschikt over dreamweaver

Nadere informatie

Variabelen en statements in ActionScript

Variabelen en statements in ActionScript Ontwikkelen van Apps voor ios en Android Variabelen en statements in ActionScript 6.1 Inleiding Als we het in de informatica over variabelen hebben, bedoelen we een stukje in het geheugen van de computer

Nadere informatie

Les W-04: Een introductie in PHP

Les W-04: Een introductie in PHP Les W-04: Een introductie in PHP 4.0 PHP De afgelopen jaren zijn websites steeds interactiever geworden. Je beantwoordt een enquête via internet, doet mee aan een poll, stuurt een formulier naar iemands

Nadere informatie

In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze. programmeertaal? En hoe is het ontstaan? Ook leer je welke editors

In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze. programmeertaal? En hoe is het ontstaan? Ook leer je welke editors 1. Over PHP 1.1 Inleiding In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze programmeertaal? En hoe is het ontstaan? Ook leer je welke editors je kunt gebruiken om PHP-scripts te maken en hoe je

Nadere informatie

Formulieren maken met Dreamweaver CS 4

Formulieren maken met Dreamweaver CS 4 Formulieren maken met Dreamweaver CS 4 In deze handleiding leer je om een formulier en elementen die je binnen een formulier kunt gebruiken, te ontwerpen met Dreamweaver. Het uitgangspunt is dat dit zoveel

Nadere informatie

BEGINNER JAVA Inhoudsopgave

BEGINNER JAVA Inhoudsopgave Inhoudsopgave 6 Configuratie Hallo wereld! Praten met de gebruiker Munt opgooien Voorwaarden Lussen......6 Configuratie Met deze Sushi kaarten ga je een simpel spel maken met één van de meest populaire

Nadere informatie

Koppeling met een database

Koppeling met een database PHP en MySQL Koppeling met een database 11.1 Inleiding In PHP is het eenvoudig om een koppeling te maken met een database. Een database kan diverse gegevens bewaren die met PHP aangeroepen en/of bewerkt

Nadere informatie

1 Inleiding Installatie 21. WAMP met Apache Friends 23. XAMPP starten en controleren 26. LAMP 32 De installatie ongedaan maken 33

1 Inleiding Installatie 21. WAMP met Apache Friends 23. XAMPP starten en controleren 26. LAMP 32 De installatie ongedaan maken 33 0DD&) QO( l 1 Inleiding 13 De betekenis van PHP 14 Voorkennis 15 Wat dit boek niet biedt 15 PHP 5 - Een routebeschrijving door dit boek 1 5 Zo kunt u de weg vinden 17 Een dankwoord van de auteur 18 Copyright

Nadere informatie

Quick Guide VivianCMS

Quick Guide VivianCMS Quick Guide VivianCMS Contactformulier creëren Versie: 1.0 Startdatum: 24 juli 2006 Datum laatste wijziging: 24 juli 2006 Opmerking: Gepubliceerd op http://www.viviancms.nl Inhoud 1 Inleiding...3 1.1 Contactformulier

Nadere informatie

En hoe gaan ze dit allemaal terugvinden?

En hoe gaan ze dit allemaal terugvinden? En hoe gaan ze dit allemaal terugvinden? Taak 1.2.10 Thomas Muller Paul van der Linden MT1A Tutor: van Griensven Docent: van den Biggelaar Gemaakt door Thomas Muller en Paul van der Linden Pagina 1 van

Nadere informatie

Web building gevorderden: CSS & JavaScript. Karel Nijs 2008/11

Web building gevorderden: CSS & JavaScript. Karel Nijs 2008/11 Web building gevorderden: CSS & JavaScript Karel Nijs 2008/11 Webbuilding gevorderden les 3 JavaScript intro JavaScript invoegen JavaScript statements JavaScript popup berichten JavaScript functies JavaScript

Nadere informatie

Handleiding bij de Booktest Generator

Handleiding bij de Booktest Generator Handleiding bij de Booktest Generator Het programma voor het maken van toetsen bij boeken. (c) 2005/2009 Visiria Uitgeversmaatschappij Twisk Inleiding Onze dank voor het aanvragen van de Booktest Generator.

Nadere informatie

Een database gebruiken

Een database gebruiken Een database gebruiken In een vorige handleiding heb ik laten zien hoe je met Scratch soortgelijke gegevens kunt opslaan in een lijst om deze op een later moment weer op te halen. Als voorbeeld las ik

Nadere informatie

Fuel. Handleiding voor installatie en gebruik

Fuel. Handleiding voor installatie en gebruik Fuel Handleiding voor installatie en gebruik Inhoudsopgave 1. Installatie 2. Gebruik - Windows - Linux / Apple / andere systemen - Een nieuw voertuig aanmaken - Uitgaven 3. Onderhoud - Waarschuwingen -

Nadere informatie

Handleiding Websitebeheer

Handleiding Websitebeheer Handleiding Websitebeheer Event Media Websites Copyright 2005, Event Media 1. Inleiding... 3 2. CMS-systeem... 3 2.1 Inloggen... 3 2.2 Basis-menu... 3 2.3 Bestaande pagina s aanpassen...3 2.4 Nieuwe pagina

Nadere informatie

Werken op afstand via internet

Werken op afstand via internet HOOFDSTUK 12 Werken op afstand via internet In dit hoofdstuk wordt uitgelegd wat er nodig is om op afstand met de ROS artikel database te kunnen werken. Alle benodigde programma s kunnen worden gedownload

Nadere informatie

Installeren van het programma:

Installeren van het programma: Versie: 1.0 Gemaakt door: Whisper380 Eigenaar: Whisper380-computerhulp.net Datum: 20-2-2011 Inhoudsopgave Installeren van het programma:...3 Configureren van het programma:...7 Mappen aanmaken:...9 Groepen

Nadere informatie

Dynamische websites met PHP (basis) Karel Nijs 2010/09

Dynamische websites met PHP (basis) Karel Nijs 2010/09 Dynamische websites met PHP (basis) Karel Nijs 2010/09 Leswijze Eerst wat theorie Begeleid met (korte) oefeningen Editor = UltraEdit Geen DreamWeaver Browser = Internet Explorer Vereiste voorkennis: (X)HTML

Nadere informatie

Revisie 29-05-2013. Surf naar http://kmt.hku.nl/eval

Revisie 29-05-2013. Surf naar http://kmt.hku.nl/eval Revisie 29-05-2013 Surf naar http://kmt.hku.nl/eval Je komt dan in een overzicht van reeds aangemaakte secties/sections (zie voorbeeld) Op het moment dat er een sectie ontbreekt kan je contact opnemen

Nadere informatie

Programmeren voor het web met PHP

Programmeren voor het web met PHP Programmeren voor het web met PHP De meestgebruikte programmeertaal voor websites is PHP. Het is een heel handige taal waarmee je een eigen slimme website kunt bouwen. Je gaat nu leren hoe PHP werkt, en

Nadere informatie

Verbinden met FTP server

Verbinden met FTP server We gaan kijken naar: Verbinden met een FTP server Je FTP wachtwoord veranderen Je website bekijken Bestanden op een FTP server zetten Verbinden met FTP server Websites staan op een webserver. Een webserver

Nadere informatie

De Kleine WordPress Handleiding

De Kleine WordPress Handleiding Introductie Dit is geen uitgebreide handleiding om een WordPress website of blog mee te bouwen. Het is ook geen overzicht van alle aspecten die een WordPress website zo bijzonder maken en geen verhandeling

Nadere informatie

Achtergrond en lettertype Opmaak Achtergrond Opmaak Achtergrond Afbeelding in achtergrond

Achtergrond en lettertype Opmaak Achtergrond Opmaak Achtergrond Afbeelding in achtergrond Frontpage Express is het meest eenvoudige programma voor het maken van je homepage. Is het programma niet geïnstalleerd op je PC, dan is het te downloaden en daarna te installeren. We zullen nu een aantal

Nadere informatie

Een quiz plaatsen op je website

Een quiz plaatsen op je website Een quiz plaatsen op je website Om de deelnemers een beetje na te laten denken kan je een quiz toevoegen op je site. Dat doe je op de volgende manier: a. Een quiz aanmaken Ga naar je eigen pagina en klik

Nadere informatie

Op de Virtual Appliance is MySQL voorgeïnstalleerd. MySQL is momenteel de meest gebruikte database op het internet.

Op de Virtual Appliance is MySQL voorgeïnstalleerd. MySQL is momenteel de meest gebruikte database op het internet. Het installeren van WordPress Nu je een volledig werkende virtuele server hebt is het tijd om er een applicatie op te installeren. We beginnen met de blogtool WordPress. De database De eerste stap is het

Nadere informatie

16. Web Station. In dit hoofdstuk komen de volgende onderwerpen aan bod:

16. Web Station. In dit hoofdstuk komen de volgende onderwerpen aan bod: 16. Web Station U kunt uw QNAP NAS gebruiken om een website te hosten. U kunt zelf een website bouwen in HTML of gebruik maken van één van de vele content management systemen die beschikbaar worden gesteld

Nadere informatie

Quick Guide VivianCMS

Quick Guide VivianCMS Quick Guide VivianCMS Gastenboek creëren Versie: 1.0 Startdatum: 24 juli 2006 Datum laatste wijziging: 24 juli 2006 Opmerking: Gepubliceerd op http://www.viviancms.nl Inhoud 1 Inleiding...3 1.1 Contactformulier

Nadere informatie

Inhoudsopgave Voorwoord 11 Nieuwsbrief 11 Introductie Visual Steps 12 Wat heeft u nodig? 12 Uw voorkennis 13 Hoe werkt u met dit boek?

Inhoudsopgave Voorwoord 11 Nieuwsbrief 11 Introductie Visual Steps 12 Wat heeft u nodig? 12 Uw voorkennis 13 Hoe werkt u met dit boek? Inhoudsopgave Voorwoord... 11 Nieuwsbrief... 11 Introductie Visual Steps... 12 Wat heeft u nodig?... 12 Uw voorkennis... 13 Hoe werkt u met dit boek?... 14 De website bij het boek... 15 Aanvullende begeleidende

Nadere informatie

Klik en er gaat iets moois gebeuren...

Klik en er gaat iets moois gebeuren... Dit document wordt stukje bij beetje voorzien van "Tips & Trucs" voor het gebruik van onze website. Hopelijk wordt hiermee voorzien in een behoefte van de bezoekers en gebruikers van onze website. Veel

Nadere informatie

Handleiding installeren en wijzigen emailhandtekening

Handleiding installeren en wijzigen emailhandtekening Handleiding installeren en wijzigen emailhandtekening Inleiding Met behulp van een script kun je automatisch een handtekening plaatsen onder al je emailberichten. Je bericht komt er dan zo uit te zien:

Nadere informatie

Inhoudsopgave. versie 0.8

Inhoudsopgave. versie 0.8 JOOMLA! INSTALLATIE HANDLEIDING versie 0.8 Inhoudsopgave Stappenplan...3 Inrichten database...4 Configuratiecentrum cpanel...4 Aanmaken van een database gebruiker...5 Aanmaken van een database...6 Gebruiker

Nadere informatie

Handleiding: Whitelabel Customersite

Handleiding: Whitelabel Customersite ARGEWEB B.V. Handleiding: Whitelabel Customersite Controlportal.nl Argeweb Support 8-1-2009 Handleiding voor het gebruik maken van de Whitelabel Customersite op controlportal.nl, door Resellers van Argeweb.

Nadere informatie

Uitleg: In de bovenstaande oefening zie je in het eerste blokje een LEES en een SCHRIJF opdracht. Dit is nog lesstof uit het tweede trimester.

Uitleg: In de bovenstaande oefening zie je in het eerste blokje een LEES en een SCHRIJF opdracht. Dit is nog lesstof uit het tweede trimester. In onderstaande oefeningen zijn kleuren gebruikt. Deze dienen aleen om de structuren makkelijker terug te kunnen herkennen. Ze worden niet standaard zo gebruikt. De dunne rood/roze balken zijn ook geen

Nadere informatie

Handleiding ZKM Online. Versie 2.1

Handleiding ZKM Online. Versie 2.1 Handleiding ZKM Online Versie 2.1 Februari 2015 Inhoudsopgave 1. Inloggen... 3 1.1 Eerste keer dat je inlogt... 3 1.1.1 Profiel... 4 1.1.2. Wachtwoord (wijzigen)... 4 1.1.3. Bureau... 5 1.1.4. Consultants

Nadere informatie

Formulier maken en opvangen met php

Formulier maken en opvangen met php Welkom bij mijn PHP tutorial (Deel 2) Ik ga in deze delen PHP uitleggen, dit doe ik in het programma notepad++ (gratis) deze kunt u downloaden van www.richard3332.nl/downloads.php Als u beschikt over dreamweaver

Nadere informatie

Automatisering voor Financiële Dienstverleners. Werken met Queries en Merge Documenten. For more information visit our website at www.pyrrho.

Automatisering voor Financiële Dienstverleners. Werken met Queries en Merge Documenten. For more information visit our website at www.pyrrho. Automatisering voor Financiële Dienstverleners Werken met Queries en Merge Documenten For more information visit our website at www.pyrrho.com Date: Document Nr: 30 maart, 2007 UBizzMerge, Versie 4.0 Status:

Nadere informatie

Drupal lokale installatie op Windows 7.

Drupal lokale installatie op Windows 7. Drupal lokale installatie op Windows 7. Door Paul Driedijk april/mei 2015 Onderstaande uitleg is bedoeld om Drupal uit te proberen op je eigen computer. Wil je Drupal later installeren op een webserver

Nadere informatie

Cursus Onderwijs en ICT. bloggen met Wordpress

Cursus Onderwijs en ICT. bloggen met Wordpress Cursus Onderwijs en ICT Deel 21 (versie 1.0 NL 27-04-2011) bloggen met Wordpress door Serge de Beer Inleiding Zelf ben ik niet zo n blogger. Niet dat ik het niet heb geprobeerd trouwens. Al regelmatig

Nadere informatie

OSCOMMERCE INSTALLATIE

OSCOMMERCE INSTALLATIE Instellingen CMS Pakketten OSCOMMERCE INSTALLATIE oscommerce installatie! U dient voordat u met stap 1 begint een database te hebben aangemaakt. Weet u niet of u dat heeft gedaan of hoe dat moet? Klik

Nadere informatie

- Plan Zo kun je een. website bouwen!

- Plan Zo kun je een. website bouwen! - Plan Zo kun je een website bouwen! BoekjeHoeKanJeEenWebsiteBouwen.i1 1 8-7-2008 17:23:14 BoekjeHoeKanJeEenWebsiteBouwen.i2 2 8-7-2008 17:23:15 In dit boekje staat de uitgebreide versie van hoe je een

Nadere informatie

Internet Explorer 7 (IE7)

Internet Explorer 7 (IE7) Internet Explorer 7 (IE7) 1. HET VENSTER Het venster van Internet Explorer 7 ziet er als volgt uit: Het venster bestaat uit volgende onderdelen: De knoppen Volgende en Vorige. Adresbalk hierin vullen we

Nadere informatie

Handleiding bij WSM MailformGenerator

Handleiding bij WSM MailformGenerator 1. Voorwoord Welkom bij de handleiding voor de WSM MailformGenerator. Deze handleiding hebben we gemaakt om je snel en gemakkelijk uit te leggen hoe de WSM MailformGenerator werkt. Deze handleiding is

Nadere informatie

Inloggen: Opbouw site: Een handleiding/introductie voor de nieuwe site van Fotoclub VPR.

Inloggen: Opbouw site: Een handleiding/introductie voor de nieuwe site van Fotoclub VPR. Een handleiding/introductie voor de nieuwe site van Fotoclub VPR. Inloggen: Als je de site opent dan zie je o.a. bovenstaande afbeelding met het logo van de club en het menu. Om in te loggen klik je helemaal

Nadere informatie

opgericht 1 augustus 1932 Handleiding Artikel plaatsen

opgericht 1 augustus 1932 Handleiding Artikel plaatsen opgericht 1 augustus 1932 Handleiding Artikel plaatsen Gemaakt door : Marcel van Vuuren Bijgewerkt op : vrijdag 24 juli 2015 Versie : 24072015_v3.0 Inhoudsopgave Inleiding... 3 Plaatsen van een artikel...

Nadere informatie

9. MYSQL. Daarin zien we het administratie paneel van mysql.

9. MYSQL. Daarin zien we het administratie paneel van mysql. 9. MYSQL We kunnen ook in dit systeem gebruik maken van de gekende ACCESS databanken. Zolang het maar relationale databanjken zijn kunnen we er gebruik van maken. In PHP echter maakt men meestal gebruik

Nadere informatie

Handleiding Wordpress

Handleiding Wordpress Handleiding Wordpress Inhoudsopgave 1. Inloggen 2. Berichten en Pagina s 3. Afbeeldingen en video s 4. Weblinks 1. Inloggen 1.1 Inloggen bij Wordpress We starten met het inloggen op je WordPress gebaseerde

Nadere informatie

Handleiding Resultaatmeetsysteem en Mezzedo

Handleiding Resultaatmeetsysteem en Mezzedo Handleiding Resultaatmeetsysteem en Mezzedo voor aanbieders (Versie 26 augustus 2014) 1 Inhoud Wat is het Resultaatmeetsysteem?... 3 Cliënten stimuleren mee te doen... 4 Over de handleiding... 4 Deel I

Nadere informatie

Handleiding Magento - Asperion

Handleiding Magento - Asperion Handleiding Magento - Asperion www.webwinkelfacturen.nl Samenvatting Dit is de handleiding voor de koppeling van Magento naar Asperion. De koppeling zorgt dat voor facturen in Magento automatisch een factuur

Nadere informatie

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous 2006-2007 Inhoudsopgave 1 2 1.1 Programmeertaal PHP5..................... 2 1.2 MySQL database......................... 3 1.3 Adobe Flash...........................

Nadere informatie

Stap 1 Je eigen website maken... 1. Stap 2 Je template invullen... 9. Stap 3 Wat kunnen we met de inhoud?... 19

Stap 1 Je eigen website maken... 1. Stap 2 Je template invullen... 9. Stap 3 Wat kunnen we met de inhoud?... 19 INHOUDSOPGAVE Inhoudsopgave Stap 1 Je eigen website maken... 1 De eerste stap... 1 Kompozer downloaden... 1 Kompozer openen... 1 Een nieuwe pagina beginnen... 1 Je eerste tekst schrijven... 2 Je eerste

Nadere informatie

Xampp Web Development omgeving opzetten onder Windows.

Xampp Web Development omgeving opzetten onder Windows. Xampp Web Development omgeving opzetten onder Windows. Inhoudsopgave 1. Lees dit eerst... 2 2. Inleiding... 2 3. Installatie Xampp... 3 1.1 Installatie Xampp Launcher... 7 1.2 Controle geïnstalleerde bestanden...

Nadere informatie

Zorgmail handleiding. Inhoud

Zorgmail handleiding. Inhoud Inhoud 1. Beginnen met Zorgmail pag. 2 2. Het instellen van Zorgmail pag. 2 3. Het gebruik van Zorgmail m.b.t. Artsen pag. 3 4. Het aanpassen van de lay-out van Zorgmail pag. 4 5. Werken met Zorgmail pag.

Nadere informatie

ChainWise digitaal factureren

ChainWise digitaal factureren ChainWise digitaal factureren Product ChainWise Bedrijfssoftware Jaar 2016 Alle rechten voorbehouden aan ChainWise Niets in deze uitgave mag worden gebruikt in welke vorm dan ook zonder schriftelijke toestemming

Nadere informatie

Studio Visual Steps Een website aanpassen via uw eigen webhostingservice

Studio Visual Steps Een website aanpassen via uw eigen webhostingservice Studio Visual Steps Een website aanpassen via uw eigen webhostingservice Aanvullend PDF-bestand bij het boek Websites bouwen met Web Easy Een website aanpassen via uw eigen webhostingservice 2 Een website

Nadere informatie

Handleiding CMS VOORKANT

Handleiding CMS VOORKANT Handleiding CMS VOORKANT Inhoudsopgave Pagina 1. Toegang tot het CMS... 3 2. Artikel toevoegen... 4 3. Artikel bewerken... 5 4. Artikel kopiëren of verwijderen... 6 5. Afbeelding, link of tabel invoegen...

Nadere informatie

In het CMS is het mogelijk om formulieren aan te maken. Voorafgaand een belangrijke tip:

In het CMS is het mogelijk om formulieren aan te maken. Voorafgaand een belangrijke tip: FORMULIEREN In het CMS is het mogelijk om formulieren aan te maken. Voorafgaand een belangrijke tip: belangrijk Importeer formulierdata uit een CSV-bestand precies zoals verderop beschreven. 1. Gedrag

Nadere informatie

Downloaden beveiligingscertificaat BRON Voor Windows XP en eerdere versies van Windows

Downloaden beveiligingscertificaat BRON Voor Windows XP en eerdere versies van Windows BRON Voor Windows XP en eerdere versies van Windows DUO 137/Versie 1.7 26 juni 2014 Inhoud 1. INLEIDING 3 2. VOORBEREIDING 4 3. DOWNLOADEN VAN HET BEVEILIGINGSCERTIFICAAT 5 3.1 DOWNLOADEN MET INTERNET

Nadere informatie

Mappen en bestanden. In dit hoofdstuk leert u het volgende:

Mappen en bestanden. In dit hoofdstuk leert u het volgende: Mappen en bestanden 1 Mappen en bestanden Een bestand is een verzamelnaam voor teksten, tekeningen of programma s. Alles wat op de vaste schijf van uw computer staat, is een bestand. Op een vaste schijf

Nadere informatie

HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS)

HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS) HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS) Vereiste voorkennis Voldoende kennis van het besturingssysteem (in deze handleiding wordt uitgegaan van Windows) De basisprincipes van programmeren Vereiste

Nadere informatie

TeD Tekst en Design. Basisinformatie voor gebruik van het cms Made Simple

TeD Tekst en Design. Basisinformatie voor gebruik van het cms Made Simple TeD Tekst en Design Basisinformatie voor gebruik van het cms Made Simple Klant: ----- Auteur: TeD Tekst en Design Datum: Mei 2009 TeD Tekst en Design Inhoudsopgave 1 Inleiding...3 2 Inloggen in het CMS...4

Nadere informatie

Leerlingenhandleiding Beginnen met FlexBase

Leerlingenhandleiding Beginnen met FlexBase Leerlingenhandleiding Beginnen met FlexBase FlexBase is het leermiddelenarrangement voor het bakkersonderwijs in Nederland, waarbij zowel papieren als digitale leermiddelen worden gebruikt. Deze handleiding

Nadere informatie

Handleiding Mezzedo.nl

Handleiding Mezzedo.nl Handleiding Mezzedo.nl voor deelnemers (Versie juli 2014) Deze handleiding vindt u ook op: www.resultaatmeetsysteem.nl 1 Inhoud Korte introductie... 3 Over de handleiding... 3 Let op (info over browser)...

Nadere informatie

Rodin installatiehandleiding (vanaf versie 2.1.xxx.x)

Rodin installatiehandleiding (vanaf versie 2.1.xxx.x) Rodin installatiehandleiding (vanaf versie 2.1.xxx.x) Introductie De Rodin applicatie bestaat uit een programma en een database. Het programma zal altijd lokaal op uw computer worden geïnstalleerd, terwijl

Nadere informatie

Online aanvragen - Gebruikershandleiding. Online aanvragen Gebruikershandleiding

Online aanvragen - Gebruikershandleiding. Online aanvragen Gebruikershandleiding Online aanvragen Gebruikershandleiding 01 / 11 Online aanvragen Gebruikershandleiding Inhoud Inloggen registreren Wachtwoord vergeten Mijn account Mijn account - Functies Het aanvraagformulier Het aanvraagformulier

Nadere informatie

Hoe moet je een prachtige presentatie maken?

Hoe moet je een prachtige presentatie maken? Hoe moet je een prachtige presentatie maken? www.meestermichael.nl Geef de presentatie een titel. Klik dit vak aan om jouw presentatie een ondertitel te geven. Hier kun je je presentatie een titel geven

Nadere informatie

Hoe stel ik mijn favorieten en wachtwoorden veilig met LastPass en Xmarks?

Hoe stel ik mijn favorieten en wachtwoorden veilig met LastPass en Xmarks? Hoe stel ik mijn favorieten en wachtwoorden veilig met LastPass en Xmarks? Handleiding van Auteur: Jan Stedehouder Februari 2012 Hoeveel favorieten heb je in de webbrowser opgeslagen? En wachtwoorden?

Nadere informatie

Javascript oefenblad 1

Javascript oefenblad 1 Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de

Nadere informatie

Met deze module heeft u de mogelijkheid om gemakkelijk, snel en efficiënt uw documenten als naslag in Unit 4 Multivers te koppelen.

Met deze module heeft u de mogelijkheid om gemakkelijk, snel en efficiënt uw documenten als naslag in Unit 4 Multivers te koppelen. Handleiding Scan+ Introductie Met Scan+ gaat een lang gekoesterde wens voor vele gebruikers van Unit 4 Multivers in vervulling: eenvoudig koppelen van documenten in relatiebeheer of documentmanagement

Nadere informatie

11. Website controleren

11. Website controleren 11. Website controleren 11.1 Website controleren op verschillende browsers Het blijkt nog altijd nodig te zijn een website te controleren. De website zoals deze er in Kompozer uit ziet, ziet er op internet

Nadere informatie

Studio Visual Steps Een website aanpassen via Avanquest webhosting

Studio Visual Steps Een website aanpassen via Avanquest webhosting Studio Visual Steps Een website aanpassen via Avanquest webhosting Aanvullend PDF-bestand bij het boek Websites bouwen met Web Easy Een website aanpassen via Avanquest webhosting 2 Een website aanpassen

Nadere informatie

Handleiding: MRJ Online Back-up versie 1.0

Handleiding: MRJ Online Back-up versie 1.0 Handleiding: MRJ Online Back-up versie 1.0 Inhoudsopgave. Over deze handleiding.... 3 Inleiding... 4 1. Installatie Windows XP/Vista/7/2000/2003 of 2008... 5 2. Backupset maken... 11 3. Extra Backupset

Nadere informatie

XAMPP Web Development omgeving opzetten onder Windows.

XAMPP Web Development omgeving opzetten onder Windows. XAMPP Web Development omgeving opzetten onder Windows. Inhoudsopgave 1. Lees dit eerst... 2 2. Inleiding... 2 1 Xampp downloaden... 2 2 Installatie Xampp 1.7.4 op externe harddisk... 3 3 XAMPP herconfiguren...

Nadere informatie

8.13 Windows Hulp op afstand

8.13 Windows Hulp op afstand 1 8.13 Windows Hulp op afstand Misschien heeft u een probleem dat u zelf niet kunt oplossen, maar is één van uw (klein)kinderen of kennissen erg handig met computers. Dan kunt u natuurlijk telefonisch

Nadere informatie

Ik zal je nu stap voor stap laten zien hoe je je product op je website als betaalde download kunt aanbieden.

Ik zal je nu stap voor stap laten zien hoe je je product op je website als betaalde download kunt aanbieden. Inleiding Als je producten op je website wilt verkopen maar je wilt niet meteen een hele webshop optuigen, dan kan dit ook eenvoudiger. Er is een manier om snel en gemakkelijk producten op je website te

Nadere informatie

CrashPlan PROe installatie handleiding. Versie 2.2-17-04-2016. Mac-Up! - CrashPlan PROe Installatie Handleiding - 1

CrashPlan PROe installatie handleiding. Versie 2.2-17-04-2016. Mac-Up! - CrashPlan PROe Installatie Handleiding - 1 CrashPlan PROe installatie handleiding Versie 2.2-17-04-2016 Mac-Up! - CrashPlan PROe Installatie Handleiding - 1 1 - Ga naar de gedownloade CrashPlanPROe_Mac-Up!.zip (staat standaard in jouw Downloads

Nadere informatie

HANDLEIDING DMS Plugin Installatie, configuratie & werking

HANDLEIDING DMS Plugin Installatie, configuratie & werking HANDLEIDING DMS Plugin Installatie, configuratie & werking Dit document is de handleiding voor de installatie, configuratie en werking van de DMS Plugin. Versie 1-12/09/2005 Inhoudstafel 1 Installatie...

Nadere informatie

ideal Betaal Formulier (Ondersteund o.a. ideal, MisterCash, Direct E-Banking en Credit Card)

ideal Betaal Formulier (Ondersteund o.a. ideal, MisterCash, Direct E-Banking en Credit Card) Script: Versie: 0.5 Licentie: ideal Betaal Formulier (Ondersteund o.a. ideal, MisterCash, Direct E-Banking en Credit Card) Gratis te gebruiken door (erkende) goede doelen. 200,00 excl. BTW voor aanschaf

Nadere informatie

Downloaden beveiligingscertificaat BRON Voor Windows versies vanaf Windows Vista

Downloaden beveiligingscertificaat BRON Voor Windows versies vanaf Windows Vista BRON Voor Windows versies vanaf Windows Vista DUO 137a/Versie 0.6 26 juni 2014 Inhoud 1. INLEIDING 3 2. VOORBEREIDING 4 3. DOWNLOADEN VAN HET BEVEILIGINGSCERTIFICAAT 5 3.1 TOEVOEGEN WEBSITE IB-GROEP.NL

Nadere informatie

GEBRUIKERSHANDLEIDING Content Management Systeem. Gebruikershandleiding RelaxWeb CMS

GEBRUIKERSHANDLEIDING Content Management Systeem. Gebruikershandleiding RelaxWeb CMS GEBRUIKERSHANDLEIDING Content Management Systeem 1 Gebruikershandleiding RelaxWeb CMS Gebruikershandleiding RelaxWeb CMS 2 Inhoud Inhoud 3 1. Inleiding 5 2. Inloggen in het CMS 6 3. Control panel 7 4.

Nadere informatie

Les 9: formulier controle met javascript.

Les 9: formulier controle met javascript. Les 9: formulier controle met javascript. Javascript is erg veel gebruikt bij internet toepassingen. In tegenstelling tot PHP, wat een server side scripting is, is java client side scripting. Dwz, niet

Nadere informatie

LES 11: VAN LOKAAL NAAR ONLINE. Lesoverzicht: Aan de slag Domeinnaam Web hosting FTP gegevens FTP programma s Database exporteren Samenvatting

LES 11: VAN LOKAAL NAAR ONLINE. Lesoverzicht: Aan de slag Domeinnaam Web hosting FTP gegevens FTP programma s Database exporteren Samenvatting LES 11: VAN LOKAAL NAAR ONLINE Lesoverzicht: Aan de slag Domeinnaam Web hosting FTP gegevens FTP programma s Database exporteren Samenvatting Tijd: 10 minuten Doel: Aan het einde van de les kun je de lokale

Nadere informatie

Een spoedcursus python

Een spoedcursus python Een spoedcursus python Zoals je in de titel misschien al gezien hebt, geven wij een spoedcursus Python. Door deze cursus leer je alle basics, zoals het rekenen met Python en het gebruik van strings. Het

Nadere informatie

IMAP-handleiding Bookinto

IMAP-handleiding Bookinto IMAP-handleiding Bookinto Olivier Nuyts 2Ti6 Ewout Spitaels 2Ti6 Departement Handelswetenschappen en Bedrijfskunde Bachelor Toegepaste Informatica 2 de jaar Academiejaar 2010-2011 Overzicht Inleiding Bookinto

Nadere informatie

Basishandleiding WordPress

Basishandleiding WordPress Basishandleiding WordPress Website: http://www.uwsite.nl Back-end: http://www.uwsite.nl/wp-admin Gebruikersnaam: uwgebruikersnaam Wachtwoord: uwwachtwoord 0. Inloggen in het gebruikersgedeelte / het back-end

Nadere informatie