Programmeren in PHP. Opleiding Ocean Technology Module HDM1. 20 apr 2016 Versie 7.3 S. Hibma

Maat: px
Weergave met pagina beginnen:

Download "Programmeren in PHP. Opleiding Ocean Technology Module HDM1. 20 apr 2016 Versie 7.3 S. Hibma"

Transcriptie

1 Opleiding Ocean Technology Module HDM1 20 apr 2016 Versie 7.3 S. Hibma

2 Inhoudsopgave 1 Inleiding Wat is programmeren Wat is nodig voor de programmeeromgeving Installatie benodigde programma s Webserver Editor FTP-programma Eerste programma HTML-code php-code Variabelen Toekenning van een waarde aan een variabele (assignment) Operatoren Practicum opdrachten Programmastructuren Herhalingen (loops of lussen) In PSD-vorm De while lus in php De for-lus in php Keuze opdrachten Een 2-keuze in PSD-vorm Een 2-keuze in php Het meerkeuzediagram Meerkeuze in PSD-vorm Meerkeuze in php Interactie tussen programma en gebruiker Formulieren POST en GET variabelen POST GET Opvangen en controle POST en GET variabelen Opdrachten De kunst van het programmeren Netjes programmeren Maken van het ontwerp dmv een PSD Voorbeeld programmaontwerp Opdelen programma in losse delen via Include Opdracht renteberekening Opdracht bankrekening nummer Functies Scope van variabelen Argumenten van een functie Resultaatwaarde van een functie

3 7.4 Opdracht functie voor bankrekening Opdracht functie voor inhoud Opdracht functie voor datum Files Openen en sluiten file Lezen en schrijven in een file Browsen naar een file String bewerkingen Opdracht Maak een programma wat: Uitbreiding: Arrays Wat is een array? Hoe maak je een array? Hoe spreek je een array aan? Kan een array een array bevatten? Functies die met Arrays te maken hebben Opdrachten dimensionale array dimensionale array

4 1 Inleiding 1.1 Wat is programmeren Programmeren is het maken van een lijst van instructies (meestal voor een computer). Een computer werkt alleen met binaire instructies die voor een normaal mens haast niet te lezen zijn. Daarom zijn er hogere programmeertalen ontwikkeld. De, in deze talen geschreven, programmacode moet dan wel door de computer worden terugvertaald naar binaire code (door een compiler). Bij het opstellen van een programma moeten we ons wel precies aan de regeltjes van een programmeertaal houden, anders reageert de compiler met foutmeldingen. Voorbeelden van moderne hogere programmeertalen zijn C++, Pascal, Visual Basic, PHP. Wij zullen programmeren in PHP. Dit is een bijzondere programmeertaal omdat hij draait op een Internetserver en dat hoeft beslist niet je eigen computer te zijn. De communicatie met de gebruiker loopt geheel via Internetpagina s. PHP wordt vooral gebruikt om Dynamische websites te maken, maar is ook bij uitstek geschikt om web-based applicaties te maken. Dat is in deze cursus uiteindelijk ons doel. 1.2 Wat is nodig voor de programmeeromgeving Een computer (webserver) waarop de volgende programmatuur draait: host-programma voor webpagina s. Deze maakt webpagina s, die op een webserver staan, zichtbaar voor Internetbrowsers (Internet Explorer, Firefox etc). Voorbeelden zijn: Apache en ISS. script processor (bv php, asp). Dit zijn serverside script-processors. Ze draaien op de webserver en produceren HTML-code die naar de cliënt wordt gestuurd. De cliënt hoeft, behalve een Internetbrowser, dus helemaal geen programmatuur te installeren om een programma te draaien. Dit in tegenstelling tot bv Javascripts. die samen met de HTML-code naar de cliënt worden gestuurd. De cliënt moet hiervoor vaak ook onderdelen installeren om deze applicaties te draaien (dit gaat overigens vaak automatisch). database-programma voor opslag gegevens (bv mysql, Microsoft SQL, postgre, access). Een database is niet altijd strikt nodig. Verder moeten we de scripts schrijven, controleren en op de juiste plaats neerzetten: editor, liefst met wat syntaxcontrole (PHP-designer, Notepad++, Dreamweaver) FTP-programma, om scripts en files op de juiste plaats neer te zetten. Dit is met name nodig als de webserver op een andere locatie staat of op een ander platform (Unix, Linux) draait dan de ontwikkelomgeving. Voorbeelden zijn WS-FTP95 en Filezilla. 3

5 2 Installatie benodigde programma s 2.1 Webserver Er zijn in principe 2 mogelijkheden: we maken gebruik van een externe webserver. Bij de NHL heeft iedereen een stukje webruimte om webpagina s neer te zetten: Daarnaast kun je natuurlijk ook een eigen domein aanvragen bij een Internet provider. we maken van onze eigen computer (laptop) een webserver. We moeten dan (zie vorige paragraaf) een host-programma, een script-processor en (eventueel) een database-programma installeren. Van Internet kun je installatiepakketten downloaden die al deze zaken in één keer installeren. Dit worden wel WAMP pakketten genoemd (Windows Apache MySQL PHP). Voor Apple-computers wordt dit MAMP! Wij gaan in de lessen mogelijkheid 2 gebruiken. Het werkt het snelst en ons geknoei staat niet meteen online. 2.2 Editor In beide gevallen moeten we op onze lokale computer een editor beschikbaar hebben. In principe is Notepad voldoende, maar een programma als PHP-designer of Notepad++ werkt veel fijner. De regels zijn genummerd en er zitten mogelijkheden in voor foutopsporing. Zie Blackboard voor het programma en installatie. 2.3 FTP-programma Als we op onze lokale computer een webserver hebben draaien is dit niet nodig: we kunnen gewoon met de Windows verkenner de bestanden op de juiste plaats neerzetten. Draaien we onze webpagina s op een externe server dan kunnen we met bv WS-FTP de programma s uploaden. Zie voor installatie en instellingen ons Intranet: Intern/ICT/Software instal. en instelling/wsftp. 4

6 3 Eerste programma Een php-programma produceert dus HTML-code (Hyper Text Markup Language) die over het Internet naar de cliënt wordt gestuurd. We moeten dus goed met HTML overweg kunnen om met php te kunnen werken. Hieronder eenvoudige voorbeelden. 3.1 HTML-code Een webpage heeft altijd de volgende gedaante: <html> <heading> eventuele headings (mag je eerst ook leeg laten) </heading> <body> Hello world </body> </html> Als we deze code opslaan onder de naam index.html in de documentroot van de webserver, dan zul je, als je met een browser naar het adres van je webserver gaat, de volgende uitvoer krijgen: Hello world Dit heeft nog niets met PHP te maken. Het wordt anders als we de naam van het bestand veranderen in index.php. In dat geval zal de webserver de pagina door de php-processor halen. In bovenstaande voorbeeld zit geen php-code. De php-processor zal dit dus gewoon als HTML doorgeven naar de browser van de cliënt. 3.2 php-code PHP-code staat altijd tussen de volgende tags: php-instructies gescheiden door ; De eerste php instructie die we leren is: echo. De regel in het voorbeeld waar Hello world wordt afgedrukt kunnen we schrijven als: echo "Hello world"; Eventueel kunnen we ook (een deel van) de omliggende HTML door php laten afdrukken. Het programma zou er dan als volgt uitzien: 5

7 Hele programma in php: echo "<html>"; echo "<heading>"; echo "</heading>"; echo "<body>"; echo "Hello world"; echo "</body>"; echo "</html>"; Deel van pogramma in php: <html> <heading> </heading> <body> echo "Hello world"; </body> </html> Voor welke versie je kiest maakt niet uit. Doe wat handig is. In deze voorbeelden is php helemaal niet nodig omdat dit allemaal statische informatie is. Daar gaan we straks verandering in brengen, maar daarvoor moeten we eerst kunnen werken met variabelen, assignments en operatoren. 3.3 Variabelen In een variabele kunnen we iets opslaan. Bij veel programmeertalen moeten we van te voren aangeven welke variabelen we gaan gebruiken en wat voor soort gegevens we in de variabele willen opslaan (datatype). Mogelijke datatypen in php zijn Boolean (True/False) true/false of 1/0 Integer (hele getallen) bv 123 Double (floating point getallen) bv String (tekenreeks) bv "Hello world" Array (rij van gegevens) komt later Object (variabele met een structuur) komt later In php is het helaas niet mogelijk om van tevoren een datatype op te geven voor een variabele.. PHP zoekt zelf uit wat het type moet zijn aan de hand van de gegevens die we er in stoppen. Een variabele in php begint altijd met een $, gevolgd door minimaal één letter of een underscore. Daarachter eventueel meer letters, cijfers of underscores. 3.4 Toekenning van een waarde aan een variabele (assignment) [variabele naam] = [waarde] ; In het bovenstaande voorbeeld kunnen we de body vervangen door: $test1 = "Hello world"; echo "$test1"; Als we bij echo slechts 1 variabele of expressie willen afdrukken mogen we de aanhalingstekens weglaten, dus: echo $test1; Als we 2 variabelen willen afdrukken kan dat als volgt: of echo $test1. $test2; echo "$test1 $test2"; 6

8 3.5 Operatoren PHP kent onder andere operatoren in de volgende groepen: Arithmetic Operators String Operators Assignment Operators Bitwise Operators Logical Operators Comparison Operators In de documentatie van staan deze operatoren beschreven onder Language Reference/Operators De prioriteit van de operatoren staat beschreven bij Operator Precedence. 7

9 3.5.1 Practicum opdrachten Bestudeer in de PHP Manual: Language Reference/Operators/Arithmetic Operators en de String Operators. Voorspel de uitkomst van: $a = ; $b = 5 ; echo $a + $b; echo $a - $b; echo $a * $b; echo $a / $b; echo $a % $b; echo $a. $b; Test je antwoorden door de bovenstaande expressies in een programma in te voeren. Bestudeer in de PHP Manual de Logical Operators. Voorspel de uitkomst van: $c = true; $d = false; echo ($c and $d); echo ($c or $d); echo ($c xor $d); echo (!$d); echo ($c && $d); echo ($c $d); Test je antwoorden door de bovenstaande expressies in het programma in te voeren. Opmerking: in php is true hetzelfde als 1 en false hetzelfde als 0. Bestudeer in de PHP Manual: Language Reference/Operators/Comparison Operators. Voorspel de uitkomst van: $e = 2.3; $f = 4; echo ($e = $f); echo ($e == $f); echo ($e === $f); echo ($e <= $f); Test je antwoorden door de bovenstaande expressies in een programma in te voeren. Bestudeer in de PHP Manual: Function Reference/Mathematical Extensions/Math/Math Function. Voorspel de uitkomst van: $g = 0.5; $h = 1.7; echo sin($h); echo asin($g); echo max($e,$h); echo round($g); echo floor($h); echo sqrt($g); Test je antwoorden door de bovenstaande expressies in het programma in te voeren. 8

10 4 Programmastructuren 4.1 Herhalingen (loops of lussen) Heel vaak willen we een aantal keren ongeveer dezelfde bewerking uitvoeren. Daarvoor kunnen we een herhalingsstructuur in een programma inbouwen. Er bestaan verschillende soorten herhalingslussen. Ze worden hieronder besproken, eerst in grafische vorm en dan in PHP In PSD-vorm Als de gegeven voorwaarde waar is wordt de opdracht(en) uitgevoerd. Daarna wordt de voorwaarde opnieuw getest. Dit gaat door zolang de voorwaarde geldt. Als dat niet meer zo is, dan wordt de lus dus beëindigd. Het zal duidelijk zijn dat de opdracht(en) invloed moet hebben op de voorwaarde. Zo niet, dan is de lus oneindig en dat is meestal niet de bedoeling. In PSD: zolang voorwaarde geldt opdracht(en) Voorbeeld: zolang uur<23 schrijf("het uur is nu: ", uur) uur := uur + 1 Er wordt begonnen met de test of de variabele uur groter is dan 1. We hebben dan meteen al een probleem: uur moet een waarde hebben gekregen voor we deze lus kunnen beginnen. Dit noemen we de initialisatie van de lus teller. Dus: Voorbeeld: uur := 0 zolang uur<23 schrijf("het uur is nu: ", uur) uur := uur + 1 Binnen de herhaling worden twee handelingen verricht (staan dus ook 2 procesdiagrammen): een opdracht die één en ander afdrukt een toekenningsopdracht waarin uur de waarde krijgt van zichzelf plus 1. 9

11 Vraag: hoe vaak wordt de lus doorlopen? De while lus in php De algemene gedaante van een while is: while ( expr ) statement; Heel vaak willen we op de plaats waar "statement" staat meerdere handelingen uitvoeren. Door accolades om een groep statements te zetten kunnen we ze groeperen tot een zogenaamd compound statement. while( expr ) { statement1; statement2; De expressie expr is een voorwaarde die true (=1) of false (=0) oplevert. Het voorbeeld uit de vorige paragraaf kan worden geprogrammeerd met: $uur = 0; while($uur <= 23) { echo "Het uur is nu: ". $uur; $uur++; Opmerking: $uur++ is een verkorte notatie van $uur = $uur + 1 Er zijn nog andere manieren om een while te gebruiken: while (expr): statement... endwhile; do.. while (heeft ook echt een andere structuur) Zie hiervoor het PHP Manual/Language Reference/Control Structures/do-while Opdracht Ontwerp een programma voor het volgende probleem: We willen sin, cos en tangens afdrukken van de hoeken van 0 t/m 359 graden in een nette tabel (1 regel per graad). Aanwijzingen: de functies vind je in het PHP Manual: Function Reference/Mathematical Extensions/Math Om een tabel te maken moeten we de juiste HTML code afdrukken. De volgende code produceert een eenvoudige tabel. Dit kun gebruiken om de opdracht te maken: <table border=1> <tr> <th>hoek</th><th>sin</th><th>cos</th><th>tan</th> </tr> <tr> <td>cel1</td><td>cel2</td><td>cel3</td><td>cel4</td> </tr> 10

12 <tr> <td>cel1</td><td>cel2</td><td>cel3</td><td>cel4</td> </tr> </table> Dit geeft de volgende uitvoer. hoek sin cos tan cel1 cel2 cel3 cel4 cel1 cel2 cel3 cel4 Er zijn commando s om de weergave van getallen precies regelen: (zie PHP Manual: Function Reference/Text Processing/Strings/String Functions) sprintf(%01.2, 1.234) geeft als uitvoer 1.23 number_format(1.234, 2) geeft als uitvoer De for-lus in php Als we van tevoren weten hoe vaak we willen herhalen, kunnen we in plaats van while ook de for-lus gebruiken. De algemene gedaante van een for-lus is: for (expr1; expr2; expr3) statement Hierin is: expr1 de initialisatie van de lus teller expr2 de eindvoorwaarde expr3 de bewerking op de lus teller Het eerder gegeven voorbeeld kunnen we dus ook met een for lus maken: for($uur = 1; $uur <= 23 ; $uur++) { echo "Het uur is nu: ". $uur; Je ziet dat dit een verkorte schrijfwijze oplevert Opdracht Herschrijf het programma van nu met een For-lus. 11

13 4.2 Keuze opdrachten Hiermee kan een keuze worden gemaakt tussen twee verschillende wegen door het programma. De keuze wordt gemaakt aan de hand van een gegeven voorwaarde Een 2-keuze in PSD-vorm als voorwaarde geldt ja statement 1 (statement 2) nee In het geval de voorwaarde geldt, wordt programmadeel 1 uitgevoerd. Zo niet, dan wordt programmadeel 2 uitgevoerd. Programmadeel 2 kan ook leeg worden gelaten. In dat geval wordt er bij nee dus niets gedaan en het programma vervolgt met de volgende diagram. We noemen het dan ook wel een voorwaardelijk diagram. Voorbeeld: getal := randomgetal getal>=0 ja schrijf( getal ) nee Verklaring: De variabele getal in de voorwaarde moet eerst een zinvolle waarde krijgen (initialisatie). Dit doen we hier door er een randomgetal aan toe te kennen Als uit de test blijkt dat getal groter dan of gelijk aan 0 is kunnen we hiervan de wortel berekenen en afdrukken. Als de voorwaarde nee oplevert wordt dus niets gedaan. Het programma gaat verder met het volgende diagram. We kunnen ook de nee-kant van een zinvolle betekenis voorzien: Voorbeeld: getal := randomgetal getal>=0 ja schrijf ( getal ) schrijf ( "kan niet" ) nee In dit voorbeeld wordt, afhankelijk van de voorwaarde, de uitkomst van getal afgedrukt of de tekststring kan niet. 12

14 4.2.2 Een 2-keuze in php Een keuzeopdracht met 1 mogelijkheid: if (expr)statement; Heel vaak willen we op de plaats waar "statement" staat meerdere handelingen uitvoeren. Door accolades om een groep statements te zetten kunnen we ze groeperen tot een zogenaamd compound statement. if ( expr ) { statement1; De expr is een voorwaarde die true (=1) of false (=0) oplevert. Het voorbeeld uit de vorige paragraaf ziet er in php als volgt uit: srand((double)microtime()* ); //start randomgenerator $getal = rand() - round(getrandmax()/2); if($getal>=0) { echo "De wortel van $getal is ".sqrt($getal)."<br>"; Een keuzeopdracht met 2 mogelijkheden: if ( expr ) { statement1; else { statement2; Het voorbeeld uit de vorige paragraaf ziet er in php als volgt uit: srand((double)microtime()* ); $getal = rand() - round(getrandmax()/2); if($getal>=0) { echo "De wortel van $getal is ".sqrt($getal)."<br>"; else { echo "kan niet<br>"; Opdracht Wijzig het programma van opdracht zodanig dat het woord oneindig wordt afgedrukt als de hoek 90 of 270 graden is. Aanwijzingen: bij de voorwaarde in de if-statement kunnen we meerdere logische expressies aan elkaar knopen met en && 13

15 4.3 Het meerkeuzediagram Heb je meer dan 2 keuzemogelijkheden nodig dan kun je: meerdere if.. else combinaties gebruiken gebruik maken van if.. elseif (zie PHP Manual: Language Reference/Control Structures) een meerkeuze gebruiken (alleen in specifieke gevallen). Dit is hieronder beschreven Meerkeuze in PSD-vorm Hier kan een keuze worden gemaakt uit meerdere mogelijkheden. In PSD expressie is: programmadeel 1 programmadeel 2 programmadeel 3 etc De expressie levert een uitkomst af. Vervolgens wordt bekeken of deze uitkomst overeenkomt met één van de opgegeven waarden (op de plaats van...). Komt geen van de waarden overeen dan wordt niets gedaan. Dit diagram wordt bij voorbeeld veel gebruikt om keuzemenu s te programmeren. Voorbeeld: lees(cijfer) cijfer is: schrijf("goed" ) schrijf("voldoende" ) schrijf("onvoldoende" ) schrijf("slecht" ) Hier wordt de expressie gevormd door de variabele cijfer. Deze moet natuurlijk wel een zinvolle waarde hebben gekregen (initialisatie). Dat wordt hier gedaan door opvragen van het toetsenbord. Afhankelijk van de ingevoerde waarde wordt dan één van de 4 opdrachten uitgevoerd. In dit geval wordt een tekststring afgedrukt, maar elk blokje kan natuurlijk weer net zo goed een groot stuk programma bevatten. 14

16 4.3.2 Meerkeuze in php Met het switch-commando kunnen we de meerkeuze uit het voorbeeld van de vorige paragraaf gemakkelijk programmeren: switch ($cijfer) { case 1: print "goed"; break; case 2: print "voldoende"; break; case 3: print "onvoldoende"; break; case 4: print "slecht"; break; Pas in het volgende hoofdstuk zullen we hier een opdracht mee maken. 15

17 5 Interactie tussen programma en gebruiker De meeste programma s hebben interactie met de gebruiker: de gebruiker voert bepaalde gegevens in waarna het programma aan de slag gaat en uitvoer genereert. 5.1 Formulieren De enige mogelijkheid om gebruikers dingen te laten invoeren via Internetpagina s is doormiddel van formulieren. In de HTML-handleiding (zie blackboard) kun je uitgebreide informatie over formulieren vinden. Het onderstaande voorbeeld is helemaal in HTML. <html> <head> <title>mijn eerste formulier</title> </head> <body> <form action="verwerk.php" method="post"> <label for="g1">getal 1:</label> <input type="text" name="g1" id="g1"><br> <label for="g2">getal 2:</label> <input type="text" name="g2" id="g2"><br> <label>bewerking:</label> <select name="bewerking"> <option>optellen</option> <option>aftrekken</option> <option>vermenigvuldigen</option> <option>delen</option> <option>machtsverheffen</option> </select><br> <input type="hidden" name="mijnnaam" value="sjoerd Hibma"> <input type="submit" value="verzenden"> </form> </body> </html> Dit geeft de volgende uitvoer: 16

18 Korte verklaring (zie voor uitgebreide informatie bv. ): action= verwerk.php : nadat op de knop Verzenden is gedrukt zal deze pagina worden gestart (in dit geval in dezelfde directory als het formulier) method= post : de manier waarop variabelen worden doorgegeven aan de volgende internetpagina (zie volgende paragraaf) label : is een nette manier om teksten voor invoervakken etc. op te geven <input type= text : geeft een invoervak name= g1 : de, door de gebruiker, in te voeren waarde wordt in de variabele g1 gestopt <select..> </select> : geeft een keuzelijst <option> </option> : definieert de elementen in de keuzelijst <input type= hidden : verstuurt een verborgen variabele <input type= submit : geeft een knop met als opschrift de waarde achter value= 5.2 POST en GET variabelen Er zijn 2 manieren waarop een Internetpagina gegevens kan doorgeven aan een volgende pagina POST Deze variabelen kunnen alleen vanuit een formulier worden verstuurd (als method= post is opgegeven). Deze variabelen worden in het verborgene doorgegeven. Ze zijn in php op te vragen als $_POST['naam']. echo $_POST['g1'].$_POST['bewerking'].$_POST['g2'].$_POST['mijnnaam']; Als we voor g1 en g2 resp. 23 en 12 hebben ingevoerd en als bewerking optellen dan is de uitvoer: 23optellen12Sjoerd Hibma Ziet er niet uit natuurlijk maar klopt wel GET Deze variabelen kunnen we versturen vanuit een formulier wanneer method= get is opgegeven. De variabelen worden dan als argumenten met de pagina meegegeven. Als we op Verzenden hebben geklikt zien we in de adresbalk: Deze variabelen zijn in php op te vragen als $_GET['naam']. Bijvoorbeeld: echo $_GET['g1'].$_GET['bewerking'].$_GET['g2'].$_GET['mijnnaam']; geeft als uitvoer eveneens: 23optellen12Sjoerd Hibma In formulieren gebruiken we zelden de get-methode. In links (en knoppen met daaronder links) daarentegen juist wel. 17

19 5.2.3 Opvangen en controle POST en GET variabelen Het opvangen van gegevens uit een formulier kan dus met POST en GET variabelen. Onderstaande voorbeeld laat dat zien. De gebruikelijke controles zijn nog weggelaten. <html> <head> <title>verwerken van het formulier!</title> </head> <body> $fout= ; $getal1 = $_POST['g1']; $getal2 = $_POST['g2']; $bewerking = $_POST['bewerking']; // Eventueel verder controle op correcte waardes if($bewerking=="delen" and $getal2==0) { $fout = "delen door nul kan niet"; if (!empty($fout)) { // Er zijn fouten geconstateerd: terug naar het formulier echo "<font color=red>$fout</font><br>"; echo "Klik <a href='formulier.php'>hier</a> om terug te keren naar het formulier."; else { //=============================================================== //alles is goed gegaan. Nu gegevens verwerken echo "Rekenmachine van ".$_POST['mijnnaam']." <br>"; switch ($bewerking) { case "optellen": $antwoord = $getal1 + $getal2; echo "$getal1 + $getal2 = $antwoord"; break; case "aftrekken": $antwoord = $getal1 - $getal2; echo "$getal1 - $getal2 = $antwoord"; break; case "vermenigvuldigen": $antwoord = $getal1 * $getal2; echo "$getal1 x $getal2 = $antwoord"; break; case "delen": $antwoord = $getal1 / $getal2; echo "$getal1 / $getal2 = $antwoord"; break; case "machtsverheffen": $antwoord = pow($getal1,$getal2); echo "$getal1<sup>$getal2</sup> = $antwoord"; break; default: echo "geen juiste bewerking geselecteerd"; </body> </html> 18

20 In het eerste deel van het bovenstaande programma worden de wenselijke controles uitgevoerd en in het tweede deel worden de ingevoerde gegevens verwerkt. Bij de verwerking van een formulier horen wij, nette programmeurs als we zijn, altijd controles uit te voeren. Bij onjuistheden sturen we de gebruiker terug naar het formulier zodat de fouten hersteld kunnen worden. Deze controles zijn bijvoorbeeld: Controleren of er een formulier gepost is: if ($_SERVER['REQUEST_METHOD'] == 'POST') {... Controleren of de vereiste velden ingevuld zijn: if (isset($_post['g1'])) {... Controle of er wel een numerieke waarde is ingevoerd: if (is_numeric($_post['g1'])) {... Controle of in een string wel iets is ingevoerd: if (strlen($_post['g1'])>0) {... Op de Internetsite staat ook een zeer leerzaam voorbeeld van het verwerken van gegevens uit een formulier. Daarin worden echter arrays gebruikt en dat stellen we even uit Opdrachten Probeer het bovenstaande uit. Je kunt de code van formulier.php en verwerk.php kopiëren en in de betreffende bestanden opslaan. Vlooi de scripts helemaal door en zoek alle dingen die niet duidelijk zijn op in de handleidingen van HTML en php. Bouw nu de volgende controles in op de ingevoerde gegevens en druk bij een fout een adequate foutmelding af: Controleer of wel eerst een formulier is gepost Controleer of de geposte getallen zijn ingevuld Controleer of de geposte getallen wel als getal zijn ingevoerd. Let op dat je de juiste structuur van je programma (inspringen etc.) correct gehandhaafd blijft. 19

21 6 De kunst van het programmeren De volgende zaken zijn erg belangrijk bij het programmeren: nette en consequente lay-out en commentaarregels maken van een ontwerp programma opdelen in overzichtelijke blokken die zo mogelijk herbruikbaar zijn terugkerende bewerkingen in aparte blokjes programma plaatsen: includes en functies. 6.1 Netjes programmeren Programma s zijn over het algemeen toch al moeilijk leesbaar. Zorg daarom voor een duidelijke en consequente lay-out en voorzie je programma van commentaarregels. Een voorbeeldje laat dit duidelijk zien: $fout = ""; if($_server['request_method'] == 'POST') { if(isset($_post['g1']) && isset($_post['g2'])) { if(is_numeric($_post['g1']) && is_numeric($_post['g2'])) { $inleg = $_POST['g1']; $rente = $_POST['g2']; else { $fout = "Niets ingevuld bij een post-variable"; else { $fout = "Niet alle benodigde post-variabelen bestaan"; else { $fout = "Deze opgegeven pagina mag niet worden bezocht voordat dit formulier wordt ingevuld"; Dit is slecht leesbaar. Zo is absoluut niet duidelijk welke else bij welke if hoort. Dit stukje programma herschreven in een nette lay-out en voorzien van commentaar ziet er bijvoorbeeld als volgt uit: // Controle of een formulier gepost is $fout = ""; if($_server['request_method'] == 'POST') { // Controle of de betreffende post-velden bestaan if(isset($_post['g1']) && isset($_post['g2'])) { // Controle of de betreffende post-velden zijn ingevuld if(is_numeric($_post['g1']) && is_numeric($_post['g2'])) { // zet voor het gemak de POST-variabelen in php-variabelen $inleg = $_POST['g1']; $rente = $_POST['g2']; else { $fout = "Niets ingevuld bij een post-variable"; else { $fout = "Niet alle benodigde post-variabelen bestaan"; else { $fout = "Deze opgegeven pagina mag niet worden bezocht voordat dit formulier wordt ingevuld"; Iets meer regels, maar veel duidelijker nietwaar? 20

22 6.2 Maken van het ontwerp dmv een PSD Een goed hulpmiddel bij het ontwerpen van programma s is het Programma Structuur Diagram (PSD). Hiermee kun je de structuur van een programma ontwerpen zonder de toeters en bellen die bij een programmeertaal horen. Reden 1: Het kost even tijd om eerst een ontwerp te maken, maar dit verdient zich altijd terug (echt waar) in de vorm van een duidelijk en logisch opgebouwd programma. Reden 2: Bij programmeren uit de losse pols kom je er meestal halverwege of op het eind achter dat je de zaak beter op een andere manier had kunnen aanpakken. Reden 3: Voor een buitenstaander is het erg lastig om programmacode te lezen. Dit geldt ook voor jezelf als je programma s lang geleden hebt geschreven. Heb je in de documentatie een structuurdiagram bij de hand, dan is het programma veel beter te volgen Voorbeeld programmaontwerp We gaan deze ontwerpmethodiek bekijken met het volgende probleem. Ik zet een op te vragen bedrag op de bank tegen een op te geven jaarrente. De rente wordt elk jaar aan het spaarbedrag toegevoegd. Druk voor elk jaar de jaarlijkse rente en het totale spaarbedrag af, net zolang tot de inleg verdubbeld is. Het stukje programma uit 6.1 is al een deel van dit programma: controle op correct ingevuld invoerformulier. Het kan in de volgende PSD in beeld worden gebracht: PSD controle op invoerformulier fout := ""; ja ja ja inleg:=postvar g1 rente:=postvar g2 inleg en rente numeriek? form gepost? inleg en rente ingevuld? fout := nee fout:= foute gegevens ingetypt" fout:= niet alle gegevens ingevuld nee nee "niet via formulier op deze pagina gekomen" Op deze manier kunnen we een programma blokje voor blokje ontwerpen en later aan elkaar koppelen. Het hele probleem kan door de volgende PSD worden beschreven: 21

23 PSD Renteberekening Controle op invoerformulier (zie afzonderlijke PSD) Fouten in de invoer? ja Druk foutmelding af totaal := inleg jaar := 1 zolang totaal<inleg*2 rente := totaal := Druk af jaarrente en totaal tot nu toe jaar := jaar + 1 nee 6.3 Opdelen programma in losse delen via Include In het bovenstaande voorbeeld is de controle op het invoerformulier als een apart blokje in de PSD opgenomen. In PHP kunnen we dat ook daadwerkelijk doen. We kunnen verschillende kant en klare delen in verschillende bestanden zetten en dan in het hoofdprogramma deze blokken includen (ertussenin voegen) <html> <head> <title>berekenen spaarbedrag</title> </head> <body> // Controle of een correct ingevuld formulier gepost is include('spaarcontrole.php'); if (!empty($fout)) { // Er zijn fouten geconstateerd echo "<font color=red>$fout</font><br>"; else { //=================================================== //alles is goed gegaan. Nu gegevens verwerken HIER KOMT DE REST VAN HET PROGRAMMA </body> </html Opdracht renteberekening Schijf voor het bovenstaande probleem het programma in PHP uitgaande van het gegeven programmaontwerp. Aanwijzingen: Er is een invulformulier nodig zijn voor het opvragen van de inleg en het rentepercentage. Voor de controle op de ingevoerde gegevens maken een apart bestand die we met include in het hoofdprogramma invoegen. In het hoofdprogramma vinden de berekeningen plaats en wordt de de gewenste uitvoer afgedrukt. 22

24 6.4 Opdracht bankrekening nummer We vragen aan de gebruiker van een programma een bankrekening nummer en testen of dat een bestaand Nederlands banknummer (IBAN) kan zijn. Een bankrekening heeft de volgende gedaante: NL12RABO (dus NL##BANK##########) Druk bij een correcte invoer de bankrekening af in de volgende, meer overzichtelijke, gedaante: NL12 RABO Aanwijzingen: strlen($stringvar) geeft de lengte van een string met substr($stringvar,$startwaarde,$aantal_tekens) kunnen we een stukje uit een string halen strtoupper($stringvar) zet kleine letters om naar hoofdletters ctype_alpha($stringvar) test of er alleen maar letters voorkomen het zou fijn zijn als we bij een typefout in de bankrekening weer terug worden gestuurd naar het formulier en dat dan ook weer de ingetypte string in het invoervak staat. In een HTML-formulier hebben we de mogelijkheid het value-attribuut op te geven bij input. Hier zouden we een phpvariabele kunnen neerzetten op de volgende manier: <input type="text" name="g1" value= echo $stringvar; id="g1"><br> Een goed ontwerp van het programma maakt deze opdracht eenvoudiger. 23

25 7 Functies Een functie is een afgerond stukje programma waarmee we een bepaalde bewerking willen uitvoeren. Dit stukje programma zetten we meestal bovenaan in het programma of in een zelfgemaakte bibliotheek van functies die we met include in ons programma linken. De functie kunnen we vervolgens aanroepen waar en zo vaak als we maar willen. 7.1 Scope van variabelen Variabelen uit het hoofdprogramma zijn niet bekend in een functie en omgekeerd zijn variabelen binnen de functie niet daarbuiten bekend. We hoeven ons bij het maken van een functie dus niet te bekommeren om variabelenamen die elders worden gebruikt. Onderstaande voorbeeld moet dit duidelijk maken. /* functie voor het testen van variable scope */ function test($x,$y){ //$a en $b zijn hier niet bekend. Wel $x en $y $z = $x + $y; return $z; //============================================== $a = 4; $b = 5; $c = test($a,$b); //$x en $y zijn hier niet bekend echo "Antwoord is $c <br>"; Dit programma geeft als uitvoer: Antwoord is Argumenten van een functie We kunnen de functie van invoer voorzien door in de declaratie achter de functienaam tussen haakjes één of meer argumenten te zetten. In de aanroep moeten dan net zo veel argumenten staan (in de juiste volgorde en van het juiste type). Het 1 e argument in de aanroep wordt opgevangen in de 1 e variabele van de declaratie, de 2 e in de 2 e variabele, etc.. In ons voorbeeld krijgt $x dus de waarde van $a en $y de waarde van $b. Op de plaats van $a en $b mogen ook gewoon getallen staan. Dus $c = test(4,5) zou precies hetzelfde effect hebben. 7.3 Resultaatwaarde van een functie In het bovenstaande voorbeeld krijgt de functie test zelf een waarde via return $z. Een functie is dan ook altijd van een bepaald type. Dat zie je ook als je in php.net/manual een functie opzoekt. Er zal dan altijd een type bij staan. Bijvoorbeeld: float sin ( float $arg ). Het type kan zijn (meest voorkomende): float floating point getallen (getal met cijfers achter de komma) int integer: hele getallen bool boolean: true of false (1 of 0) 24

26 string tekenreeks Het kan ook zijn dat een functie geen resultaatwaarde krijgt. Er staat dan geen return in de functie. Dit gebeurt bijvoorbeeld als we binnen een functie alleen iets willen afdrukken. 7.4 Opdracht functie voor bankrekening In opdracht 6.4 hebben we een programma gemaakt wat een bankrekeningnummer opvraagt, dit controleert en dan in een klantvriendelijke notatie weergeeft. Bouw dit programma nu met een functie die de ruwe invoer binnenkrijgt en dit als nette uitvoer teruggeeft via return. Als er fouten zijn gemaakt moet de functie FALSE afgeven. 7.5 Opdracht functie voor inhoud Maak een programma met daarin een functie voor het berekenen van de inhoud van een cilinder waarbij de maten door de gebruiker worden ingevoerd. De functie krijgt dus de maten via zijn argumenten binnen, berekent de inhoud en geeft deze via return weer terug. 7.6 Opdracht functie voor datum We voeren een datum in als dd-mmm-jjjj, bijvoorbeeld 23-mei Maak een functie die deze datum weergeeft als Kijk ook eens goed in het php-manual en verder op Internet hoe je dit het handigst kunt aanpakken. 25

27 8 Files Het is in PHP heel goed mogelijk om te lezen uit of schrijven naar een tekstbestand. Daarvoor is het begrip filepointer van belang. Dit is een wijzer naar een plaats in het gekozen bestand waar de eerstvolgende lees- of schrijfactie zal plaatsvinden. Deze filepointer moet worden benoemd zodra we iets met een bestand willen doen en is op verschillende manieren te manipuleren. 8.1 Openen en sluiten file Het generieke commando voor openen is: resource fopen ( string $filename, string $mode [, bool $use_include_path = false [, resource $context ]] ) Een eenvoudig voorbeeld is duidelijker: $fp = fopen("getallen.txt","r"); $fp is de filepointer waar we straks steeds naar moeten verwijzen als we iets willen lezen of schijven. $bestand is de naam van het te lezen of beschrijven bestand. De normale unix-achtige regels gelden voor bestandsnamen, zoals: / = scheidingsteken,. = huidige directory,.. = bovenliggende directory r = read: openen voor lezen w = write: openen voor schrijven a = append: openen voor schijven aan het einde Zie voor (veel) meer informatie Na gebruik horen we het bestand weer te sluiten. We doen dat door de filepointer te ontkoppelen: fclose($fp); 8.2 Lezen en schrijven in een file Zoals gezegd worden lees- en schijfacties uitgevoerd op de plaats waar de filepointer op dit moment naartoe wijst (is in feite het adres van een bepaalde plaats op de schijf). Lezen van de plaats waar de filepointer naartoe wijst doen we als in het volgende voorbeeld: $regel = fgets($fp); Er wordt een hele regel gelezen (tot aan het EndOfLine (EOL) teken) en die wordt als string geplaatst in de variabele $regel. Als we op het einde van het bestand zijn aangekomen mogen we natuurlijk niet verder lezen. Achter elk bestand staat een EndOfFile (EOF) teken. We gebruiken daarom meestal de volgende constructie: 26

28 while (!feof($fp)){ $regel = fgets($fp);... Schrijven naar een file wordt duidelijk met met het volgende voorbeeld: fwrite($fp,$regel); Dit is heel kort door de bocht. Er is veel meer mogelijk. Zie hiervoor het php-manual. 8.3 Browsen naar een file We kunnen dus de filenaam statisch opgeven in ons programma. Het is echter veel handiger als we ons programma kunnen laten browsen naar een file. Een file waar we gegevens uit willen lezen zal vaak niet in de document-root van de webserver staan, maar ergens op een lokale- of netwerkschijf. Een web-server heeft hier vaak problemen mee. Het is echter mogelijk om het gewenste bestand tijdelijk te uploaden naar de webserver en uit deze temporary file te lezen. Het onderstaande programma maakt dat mogelijk. Er wordt daarbij gebruik gemaakt van een formulier. Met de html opdracht input type="file" zal de filebrowser starten. Bij de form-tag moeten we wel enctype='multipart/form-data' opnemen want de variabele die alle fileinformatie bevat is een array (een variabele met verschillende vakjes). // Controle of een file-upload is gedaan if (!$_FILES['bestand']['tmp_name'] ) { echo "Selecteer een bestand"; //===================================== <form action= echo $_SERVER['PHP_SELF']; method="post" enctype='multipart/form-data'> <input type="file" name="bestand"><br> <input type="submit" value="verzenden"> </form> //===================================== else { $bestand = $_FILES['bestand']['tmp_name']; $fp = fopen("$bestand","r"); //======= Hieronder de rest van het programma. 27

29 8.4 String bewerkingen Als we gegevens uit bestanden gaan lezen is het meestal onontkoombaar dat we de ingelezen gegevens moeten filteren en bewerken om datgene eruit te halen wat we willen hebben. Omdat we gegevens meestal als een string (tekenreeks) inlezen, moeten we hierop stringbewerkingen uitvoeren. Voorbeelden zijn: afdrukken (kennen we al) o.a.: echo, print, printf deel uit een string halen: substr(...) zoeken in een string: strpos(...) bepalen lengte string: strlen(...) vervangen van een deel van een string: str_replace( ) spaties aan begin en/of eind verwijderen: trim(...) string opsplitsen in meerdere delen: explode(...). Hier hebben we kennis van arrays nodig. en vele, vele andere: zie het php manual 8.5 Opdracht In Blackboard staat het tekstbestand PV-BVH txt. Hierin staan voor de maand april 2014 de dagopbrengsten van zonnepanelen op een zeker woonhuis aan de Burg. van Heusdenweg. Sla dit bestand op een willekeurige plaats op in je computer Maak een programma wat: de gebruiker laat browsen naar dit bestand de datum en de dagopbrengst leest, in afzonderlijke variabelen plaatst en afdrukt op het scherm het gemiddelde van deze getallen berekent en afdrukt op het scherm. NB: Controleer de antwoorden en let op eenheden en komma-problemen. Maak er een beetje nette uitvoer van zodat alles goed leesbaar is Uitbreiding: In het bestand staat de datum als bv. 15-apr Met deze notatie kunnen we niet rekenen. Dat hoeft hier ook niet, maar heel vaak willen we dat wel. Dat lukt dan als we de datum omzetten naar de zogenaamde Unix-Epoch. Volgens Wikipedia: De Unix Epoch is de datum en tijd die correspondeert met de waarde 0 van de klok en de timestamp van Unix. Op de meeste Unix-systemen is de epoch gelijk aan 00:00:00 GMT op 1 januari De meeste Unix-systemen gebruiken 1 'tick' per seconde, het aantal ticks wordt bijgehouden in een signed 32-bit integer. Dit zorgt ervoor dat vanaf 19 januari 2038 om 03:14:08 UTC deze teller niet meer bruikbaar zal zijn in de huidige vorm. Zie hiervoor het artikel "Softwareprobleem jaar 2038". Druk in de vorige opdracht tevens de Unix timestamp af achter elke datum. Zie hiervoor o.a. de functies date(), mktime() en strtotime(). 28

30 9 Arrays 9.1 Wat is een array? Je weet inmiddels dat je een waarde kunt opslaan in een variabele, bv: $val=19. In een variabele kun je echter maar één enkele waarde tegelijk opslaan. Met een array kun je verschillende waarden opslaan in één "variabele" en ze ook afzonderlijk aanspreken. Elke element van een array heeft een index die ervoor zorgt dat wij dit element op elk moment kunnen terugvinden. Arrays worden meestal gebruikt om lijsten van waarden te bewaren of bewerken (bv: een namenlijst of een reeks meetgegevens). 9.2 Hoe maak je een array? Er bestaan verschillende manieren om een array te maken. Hier worden de meest gebruikelijk methoden beschreven. $mijn_array = array(1, 19, "Hallo", "Mijn eerste array", 45); De array $mijn_array bestaat nu uit een reeks van waarden met elk zijn eigen unieke index. De indices worden automatisch toegewezen. De eerste variabele krijgt de index 0, de volgende 1, 2... enz.. Dit noemen we een indexed array In plaats van een nummer kunnen wij de index ook een naam geven. (associative array). $mijn_array = array("index1" => "waarde1", "index2" => "waarde2", "index3" => "waarde3"); Bijvoorbeeld: $mijn_array = array("naam" => "Daniel", "woonplaats" => "Oostende", " " => "ikke@mydomain.com"); De laatste en meest gebruikte methode (ook de meest eenvoudige): $mijn_array[] = "waarde1"; // deze krijgt index 0 $mijn_array[] = "waarde2"; // deze krijgt index 1 $mijn_array[] = "waarde3"; // deze krijgt index 2 29

31 Bij deze laatste methode kun je ook de waarde of naam van de index zelf opgeven. Bijvoorbeeld bij een indexed array: $mijn_array[0] = "waarde1"; $mijn_array[1] = "waarde2"; $mijn_array[2] = "waarde3"; of bij een associative array $mijn_array['index1'] = "waarde1"; $mijn_array['index2'] = "waarde2"; $mijn_array['index3'] = "waarde3"; 9.3 Hoe spreek je een array aan? Wij hebben dus verschillende manieren gezien om waarden in een Array te zetten, maar hoe spreken wij deze array aan om deze waarden terug te krijgen? Dit is eigenlijk nog makkelijker dan het aanmaken van een array. Het gebruik van de array is bijna hetzelfde als gewone variabelen. $var1=$mijn_array['index1']; echo "waarde1 is ".$mijn_array['index1']; $mijn_array = array("naam" => "Daniel", " " => "ikke@mydomain.com"); echo "Het adres van ".$mijn_array['naam']." is ".$mijn_array[' ']; // Het adres van Daniel is ikke@mydomain.com De index mag ook worden meegegeven door middel van een variabele. Dit is vooral van belang bij lussen. $index='index1'; echo "waarde1 is ".$mijn_array[$index]; 30

32 9.4 Kan een array een array bevatten? Een van de meest interessante eigenschappen van een array is dat je binnen een array een andere array als waarde mag geven. Dit noemen we een meerdimensionale array. Op deze manier kunnen we een meerdimensionale tabel in een array plaatsen. Naam Woonplaats 1 Daniel Oostende 2 Peter Brussel $mijn_tabel[1] = array("naam" => "Daniel", "woonplaats" => "Oostende"); $mijn_tabel[2] = array("naam" => "Peter", "woonplaats" => "Brussel"); Hoe krijgen wij nu de waarden van uit deze 'tabel' voor verder gebruik in onze code? 1. De array uit de array halen : $waarden = $mijn_tabel[1] ; echo $waarden['naam']." woont in ".$waarden['woonplaats']; // Daniel woont in Oostende 2. De waarden rechstreeks aanspreken : echo $mijn_tabel[1]['naam']." woont in ".$mijn_tabel[1]['woonplaats']; // Daniel woont in Oostende echo $mijn_tabel[2]['naam']." woont in ".$mijn_tabel[2]['woonplaats']; // Peter woont in Brussel 9.5 Functies die met Arrays te maken hebben Er zijn vele tientallen functies die arrays kunnen manipuleren. We zullen hier een paar behandelen. Functies voor de array pointer zijn: current, next, prev, reset. 31

33 $transport = array('foot', 'bike', 'car', 'plane'); reset($transport); echo current($transport). " <br>"; //foot echo next($transport). "<br>"; //bike echo next($transport). "<br>"; //car echo prev($transport). "<br>"; //bike echo end($transport). "<br>"; //plane De grootte van een array is te bepalen met count() of sizeof(). $transport = array('foot', 'bike', 'car', 'plane'); for ($i=0; $i<count($transport); $i++) { echo $transport[$i]. "<br>"; Geeft als output: foot bike car plane Sorteren van een array kan met sort() $transport = array('foot', 'bike', 'car', 'plane'); sort($transport); for ($i=0; $i<count($transport); $i++) { echo $transport[$i]. "<br>"; Geeft als de gesorteerde array als output: De functie explode() is eigenlijk een stringfunctie, maar geeft als resultaat een array. $mijnstring = "foot,bike,car,plane"; $transport = explode(",",$mijnstring); for ($i=0; $i<count($transport); $i++) { echo $transport[$i]. "<br>"; De string wordt in stukken geknipt (op het opgegeven scheidingsteken en in een array geplaatst. Met print_r ($arraynaam) kun je een array op een leesbare manier even afdrukken. In de testfase van een programma kan dit handig zijn. (Geen echte array-functie.) 32

34 9.6 Opdrachten dimensionale array In S:\2ejaar\2h\HDM staat een tekstbestandje getallen.txt, met daarin een rij getallen. Laat je programma browsen naar deze file en doe vervolgens de volgende bewerkingen: Lees deze getallen in een array in Bepaal hoeveel getallen er in de array staan (standaardfunctie) Bereken de som van de getallen in de array (standaardfunctie) Bereken het gemiddelde van de getallen Sorteer de array van laag naar hoog Druk de array af op het scherm dimensionale array In S:\2ejaar\2h\HDM staat een tekstbestandje getijmetingen.txt, met daarin een tabel met per uur getijmetingen op 6 meetpunten. Laat je programma browsen naar deze file. Lees deze gegevens in een tweedimensionale array in. Druk vervolgens de array af in een nette HTML-tabel, zoals in het voorbeeld hieronder. tijd VL2 VL4 VL6 VL8 VL10 VL12 00: : : : etc 33

Programmeren in PHP. Opleiding Ocean Technology Module HDM1. 20 april 2015 Versie 6.7 S. Hibma

Programmeren in PHP. Opleiding Ocean Technology Module HDM1. 20 april 2015 Versie 6.7 S. Hibma Opleiding Ocean Technology Module HDM1 20 april 2015 Versie 6.7 S. Hibma Inhoudsopgave 1 Inleiding... 3 1.1 Wat is programmeren... 3 1.2 Wat is nodig voor de programmeeromgeving... 3 2 Installatie benodigde

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

Een korte samenvatting van enkele FORTRAN opdrachten

Een korte samenvatting van enkele FORTRAN opdrachten Een korte samenvatting van enkele FORTRAN opdrachten Inhoud 1 Introductie 3 2 De structuur van een FORTRAN programma 3 3 Datatypen, variabelen en declaraties 3 4 Expressies-volgorde van uitwerking 4 5

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

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

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

Software 1. php mysql. bachelor grafische en digitale media cross-media ontwerp & grafimediatechnologie academiejaar 2010-2011 semester 1

Software 1. php mysql. bachelor grafische en digitale media cross-media ontwerp & grafimediatechnologie academiejaar 2010-2011 semester 1 Software 1 php mysql bachelor grafische en digitale media cross-media ontwerp & grafimediatechnologie academiejaar 2010-2011 semester 1 Alain Simons alain.simons@artesis.be Basis php 1. Introductie 2.

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

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

Vakgroep CW KAHO Sint-Lieven

Vakgroep CW KAHO Sint-Lieven Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be

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

PYTHON REEKS 1: BASICS. Mathias Polfliet

PYTHON REEKS 1: BASICS. Mathias Polfliet PYTHON REEKS 1: BASICS Mathias Polfliet mpolflie@etrovub.be EENVOUDIGE REKENMACHINE 2 soorten getallen Getallen Z -> integers (gehele getallen) Getallen R -> floating points (reële getallen) Door beperkte

Nadere informatie

VAN HET PROGRAMMEREN. Inleiding

VAN HET PROGRAMMEREN. Inleiding OVERZICHT VAN HET PROGRAMMEREN Inleiding Als je leert programmeren lijkt het nogal overweldigend om die eerste stappen te doorworstelen. Er zijn dan ook heel wat programmeertalen (Java, Ruby, Python, Perl,

Nadere informatie

JavaScript. 0 - Wat is JavaScript? JavaScript toevoegen

JavaScript. 0 - Wat is JavaScript? JavaScript toevoegen 0 - Wat is JavaScript? JavaScript is hele andere koek dan Scratch. Het wordt ook door professionele programmeurs gebruikt. Doordat er veel mensen gebruik maken van JavaScript is er veel informatie over

Nadere informatie

Arrays en Foreach. Huub de Beer. Eindhoven, 4 juni 2011

Arrays en Foreach. Huub de Beer. Eindhoven, 4 juni 2011 Arrays en Foreach Huub de Beer Eindhoven, 4 juni 2011 Associatieve arrays (I) Je kent er al een aantal: $_POST en $_GET. PHP maakt er meer aan: $_SERVER, $_SESSION. Zie http://www.php.net/manual/en/reserved.variables.php

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

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

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

MINICURSUS PHP. Op dit lesmateriaal is een Creative Commons licentie van toepassing Sebastiaan Franken en Rosalie de Klerk Bambara

MINICURSUS PHP. Op dit lesmateriaal is een Creative Commons licentie van toepassing Sebastiaan Franken en Rosalie de Klerk Bambara MINICURSUS PHP Op dit lesmateriaal is een Creative Commons licentie van toepassing. 2017-2018 Sebastiaan Franken en Rosalie de Klerk Bambara PHP Cursus Deze cursus is om de eerste stappen in de wereld

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

PROS1E1 Gestructureerd programmeren in C Dd/Kf/Bd

PROS1E1 Gestructureerd programmeren in C Dd/Kf/Bd Inhoudsopgave 1 Inleiding... 1 2 Toekenning- en herhalingsopdrachten (for loop)... 2 2.1 De wet van Ohm... 3 2.2 De spaarrekening... 3 2.3 De transformator... 3 3 Keuze- en herhalingsopdrachten (if, switch,

Nadere informatie

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2 Controle structuren De algemene vorm: 1 bloks door middel van indentatie Keuze Herhaling if expressie :...... In de volgende vorm is het else gedeelte weggelaten: if expressie :... Het if keuze- of conditioneel

Nadere informatie

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax, Deel 1: Arduino kennismaking Wat is een microcontroller, structuur van een programma, syntax, Wat is een microcontroller Wat is een microcontroller? Microcontroller = kleine dedicated computer. - Beperkt

Nadere informatie

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren HOOFDSTUK 3 3.1 Stapsgewijs programmeren De programmeertalen die tot nu toe genoemd zijn, zijn imperatieve of procedurele programmeertalen. is het stapsgewijs in code omschrijven wat een programma moet

Nadere informatie

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET Visual Basic.NET M. den Besten 0.3 VB. NET Inhoud Voorwoord Deel 1 Visual Basic.NET 1.1 Inleiding...13 1.2 De programmeertaal Visual Basic.NET...14 1.3 Microsoft Visual Basic 2010 Express Edition...15

Nadere informatie

VAN HET PROGRAMMEREN. Inleiding. Het spiraalmodel. De programmeertaal. vervolgens de berekening van het totale bedrag, incl. BTW:

VAN HET PROGRAMMEREN. Inleiding. Het spiraalmodel. De programmeertaal. vervolgens de berekening van het totale bedrag, incl. BTW: OVERZICHT VAN HET PROGRAMMEREN Inleiding Als je leert programmeren lijkt het nogal overweldigend om die eerste stappen te doorworstelen. Er zijn dan ook heel wat programmeertalen (Java, Ruby, Python, Perl,

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

Functies. Huub de Beer. Eindhoven, 4 juni 2011

Functies. Huub de Beer. Eindhoven, 4 juni 2011 Functies Huub de Beer Eindhoven, 4 juni 2011 Functies: je kent ze al Je hebt al verschillende PHP functies gebruikt: pi() om het getal π uit te rekenen. sin( 0.453 ) om het de sinus van het getal 0.453

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

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

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

Lab Webdesign: Javascript 7 april 2008

Lab Webdesign: Javascript 7 april 2008 H8: FORMULIEREN In dit hoofdstuk komt het "form"-object aan de orde: we zullen zien hoe we JavaScript kunnen gebruiken voor het manipuleren en valideren van de gegevens die een eindgebruiker invult in

Nadere informatie

http://www.liacs.nl/home/kosters/java/

http://www.liacs.nl/home/kosters/java/ sheets Programmeren 1 Java college 2, Walter Kosters De sheets zijn gebaseerd op de hoofdstukken 2 tot en met 6 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/

Nadere informatie

Hoofdstuk 7: Werken met arrays

Hoofdstuk 7: Werken met arrays Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, januari 2004 Hoofdstuk 7: Werken met arrays 7.0 Leerdoel

Nadere informatie

Hoofdstuk 2: Werken met variabelen

Hoofdstuk 2: Werken met variabelen Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, februari 2001 Hoofdstuk 2: Werken met variabelen 2.0

Nadere informatie

Lab Webdesign: Javascript 3 maart 2008

Lab Webdesign: Javascript 3 maart 2008 H5: OPERATORS In dit hoofdstuk zullen we het hebben over de operators (of ook wel: operatoren) in JavaScript waarmee allerlei rekenkundige en logische bewerkingen kunnen worden uitgevoerd. Daarbij zullen

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

Hoofdstuk 2: Werken met variabelen

Hoofdstuk 2: Werken met variabelen Programmeren in Microsoft Visual Basic 2010 Express, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Vespucci College, Marnix Gymnasium Rotterdam, december 2011 Hoofdstuk

Nadere informatie

continue in een for, while of do lus herhaalt de lus vroegtijdig. De volgende herhaling wordt onmiddellijk begonnen.

continue in een for, while of do lus herhaalt de lus vroegtijdig. De volgende herhaling wordt onmiddellijk begonnen. Hoofdstuk 3: controlestructuren instructies en blokken Naar elke instructie staat een ; Instructies worden door de haakjes {} in een block samengevat. if else if ( expression) statement1; else statement2;

Nadere informatie

Zelftest Inleiding Programmeren

Zelftest Inleiding Programmeren Zelftest Inleiding Programmeren Document: n0824test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST INLEIDING PROGRAMMEREN Deze

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

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

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk. HOOFDSTUK 3 3.1 Stapsgewijs programmeren In de vorige hoofdstukken zijn programmeertalen beschreven die imperatief zijn. is het stapsgewijs in code omschrijven wat een programma moet doen, net als een

Nadere informatie

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

Programmeren met Arduino-software

Programmeren met Arduino-software Programmeren met Arduino-software De software waarin we programmeren is Arduino IDE. Deze software is te downloaden via www.arduino.cc. De programmeertaal die hier gebruikt wordt, is gebaseerd op C en

Nadere informatie

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, 14.00-15.30, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Dit tentamen bestaat uit twee delen. Deel 1 (14.00-14.45, gesloten

Nadere informatie

OEFENINGEN PYTHON REEKS 1

OEFENINGEN PYTHON REEKS 1 Vraag 1: Expressies & Types OEFENINGEN PYTHON REEKS 1 Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3), zijn er float s die behoren

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

Foutcontrole met Javascript

Foutcontrole met Javascript Foutcontrole met Javascript Pol Van Dingenen Yannick Van Hauwe INLEIDING Het controleren van de gegevens die ingevuld zijn in formulieren is heel erg belangrijk. In de praktijk is enkel en alleen controle

Nadere informatie

AFO 142 Titel Aanwinsten Geschiedenis

AFO 142 Titel Aanwinsten Geschiedenis AFO 142 Titel Aanwinsten Geschiedenis 142.1 Inleiding Titel Aanwinsten Geschiedenis wordt gebruikt om toevoegingen en verwijderingen van bepaalde locaties door te geven aan een centrale catalogus instantie.

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

Hoofdstuk 1 Inleiding PHP 7 of ouder Hoe dit boek werkt 2

Hoofdstuk 1 Inleiding PHP 7 of ouder Hoe dit boek werkt 2 Inhoud Hoofdstuk 1 Inleiding 1 1.1 PHP 7 of ouder 2 1.2 Hoe dit boek werkt 2 Hoofdstuk 2 De programmeeromgeving 5 2.1 In dit hoofdstuk 5 2.2 Editor 5 2.3 Webserver op Linux, Mac of PC 5 2.4 De webmap 6

Nadere informatie

Lab Webdesign: Javascript 11 februari 2008

Lab Webdesign: Javascript 11 februari 2008 H3: HERHALINGSLUSSEN EN LOGICA Om de voorbeelden niet nodeloos lang te maken, zullen we in het vervolg niet altijd de SCRIPT-tags en de HTML-commentaarregels herhalen. Om de JavaScript-opdrachten --de

Nadere informatie

Java Les 3 Theorie Herhaal structuren

Java Les 3 Theorie Herhaal structuren Java Les 3 Theorie Herhaal structuren Algemeen Een herhaal structuur een is programmeertechniek waarbij bepaalde Java instructies worden herhaald net zo lang tot een bepaalde voorwaarde is bereikt. Een

Nadere informatie

II. ZELFGEDEFINIEERDE FUNCTIES

II. ZELFGEDEFINIEERDE FUNCTIES II. ZELFGEDEFINIEERDE FUNCTIES In Excel bestaat reeds een uitgebreide reeks van functies zoals SOM, GEMIDDELDE, AFRONDEN, NU enz. Het is de bedoeling om functies aan deze lijst toe te voegen door in Visual

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 11 december 2015 Ingebouwde datastructuren Meer boomstructuren Access specifiers Gebruikersinvoer Codestijl Packages SAT-solver Ingebouwde datastructuren Ingebouwde

Nadere informatie

[13] Rondjes draaien (loops)

[13] Rondjes draaien (loops) [13] Rondjes draaien (loops) Met de if else uit de leerfiche [11] hebben we leren werken met één van de belangrijkste programmeerstructuren in Python. Bijna even belangrijk zijn de verschillende mogelijkheden

Nadere informatie

Query SQL Boekje. Fredrik Hamer

Query SQL Boekje. Fredrik Hamer Query SQL Boekje Query SQL Boekje Fredrik Hamer Schrijver: Fredrik Hamer Coverontwerp: Fredrik Hamer ISBN: 9789402162103 Fredrik Hamer Inhoudsopgave A. Aanhef bepalen 17 Aantal 18 Aantal dagen tussen

Nadere informatie

Syntax- (compile), runtime- en logische fouten Binaire operatoren

Syntax- (compile), runtime- en logische fouten Binaire operatoren Inhoud Syntax- (compile), runtime- en logische fouten Binaire operatoren Operaties op numerieke datatypen Evaluatie van expressies, bindingssterkte Assignment operaties en short-cut operatoren Controle

Nadere informatie

Small Basic Programmeren Text Console 2

Small Basic Programmeren Text Console 2 Oefening 1: Hoogste getal Je leest een reeks positieve gehele getallen in totdat je het getal 0 (nul) invoert. Daarna stopt de invoer en druk je een regel af met het hoogste getal uit de reeks. Voorbeeld:

Nadere informatie

Inhoudsopgave Voorwoord 5 Voordat je begint 6 Wat heb je nodig? 7 De website bij het boek 7 Voor ouders, verzorgers en leraren

Inhoudsopgave Voorwoord 5 Voordat je begint 6 Wat heb je nodig? 7 De website bij het boek 7 Voor ouders, verzorgers en leraren Inhoudsopgave Voorwoord... 5 Voordat je begint... 6 Wat heb je nodig?... 7 De website bij het boek... 7 Voor ouders, verzorgers en leraren... 8 Vervolgboeken over programmeren... 8 1. Aan de slag met Python

Nadere informatie

Webscripting. PCVO Gent & OBAC. Willem De Meyer

Webscripting. PCVO Gent & OBAC. Willem De Meyer Webscripting PCVO Gent & OBAC Willem De Meyer Situering van de module De module webscripting kan na de cursus webdesign gevolgd worden. Kennis van html is noodzakelijk om op de opbouw van webpagina s te

Nadere informatie

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie Leren Programmeren met Visual Basic 6.0 Les 3+4 Hoofdstuk 4 : De Selectie Visual Basic 6.0 1 Basisstructuren (herhaling) Sequentie (HK2) : Alle opdrachten gewoon na mekaar uitvoeren. Hier worden geen keuzes

Nadere informatie

OEFENINGEN PYTHON REEKS 1

OEFENINGEN PYTHON REEKS 1 Vraag 1: Expressies & Types OEFENINGEN PYTHON REEKS 1 Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3), zijn er float s die behoren

Nadere informatie

Programmeermethoden NA. Week 5: Functies (vervolg)

Programmeermethoden NA. Week 5: Functies (vervolg) Programmeermethoden NA Week 5: Functies (vervolg) Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Functies Vorige week bekeken we functies: def

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

OPDRACHT Opdracht 2.1 Beschrijf in eigen woorden wat het bovenstaande PSD doet.

OPDRACHT Opdracht 2.1 Beschrijf in eigen woorden wat het bovenstaande PSD doet. Les C-02: Werken met Programma Structuur Diagrammen 2.0 Inleiding In deze lesbrief bekijken we een methode om een algoritme zodanig structuur te geven dat er gemakkelijk programmacode bij te schrijven

Nadere informatie

6.2 VBA Syntax. Inleiding Visual Basic

6.2 VBA Syntax. Inleiding Visual Basic 6.2 VBA Syntax Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken. Klik te tab Hulpmiddelen voor databases Klik op Maken Macro s en Code -

Nadere informatie

OEFENINGEN PYTHON REEKS 1

OEFENINGEN PYTHON REEKS 1 OEFENINGEN PYTHON REEKS 1 Vraag 1: Python als een eenvoudige rekenmachine Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3) en

Nadere informatie

A.C. Gijssen. 0.3 PHP en MySQL

A.C. Gijssen. 0.3 PHP en MySQL PHP en MySQL A.C. Gijssen 0.3 PHP en MySQL PHP en MySQL 0.4 Inhoudsopgave Voorwoord Deel 1 Over PHP 1.1 Inleiding...13 1.2 Wat is PHP?...14 1.3 De geschiedenis van PHP...15 1.4 Editor...16 1.5 PHP en websites...17

Nadere informatie

Programmeren in Java les 3

Programmeren in Java les 3 4 september 2015 Deze les korte herhaling vorige week loops methodes Variabelen Soorten variabelen in Java: integer: een geheel getal, bijv. 1,2,3,4 float: een gebroken getal, bijv. 3.1415 double: een

Nadere informatie

VBA voor Doe het Zelvers deel 20

VBA voor Doe het Zelvers deel 20 VBA voor Doe het Zelvers deel 20 Handleiding van Auteur: leofact Augustus 2015 handleiding: VBA voor Doe het Zelvers deel 20 Vorige aflevering In het vorige deel werd besproken hoe je de structuur en vensteropbouw

Nadere informatie

Dynamische Websites. Week 2

Dynamische Websites. Week 2 Dynamische Websites Week 2 AGENDA Labo 1 GET, POST Navigatie, etc Varia 1 2

Nadere informatie

PHP. Les 4 : Variabelen

PHP. Les 4 : Variabelen PHP Les 4 : Variabelen Interessante links: o http://www.dbzweb.be/moermant/ o http://php.net/manual/en/function.echo.php o http://www.w3schools.com/php/default.asp Wat zijn variabelen? Variabelen zijn

Nadere informatie

17 Operaties op bits. 17.1 Bitoperatoren en bitexpressies

17 Operaties op bits. 17.1 Bitoperatoren en bitexpressies 17 Operaties op bits In hoofdstuk 1 is gezegd dat C oorspronkelijk bedoeld was als systeemprogrammeertaal om het besturingssysteem UNIX te implementeren. Bij dit soort toepassingen komt het voor dat afzonderlijke

Nadere informatie

GEDETAILLEERDE INHOUD

GEDETAILLEERDE INHOUD GEDETAILLEERDE INHOUD dankwoord 17 Inleiding 19 Waarom leer je programmeren?... 19 Waarom Python?... 20 Waarom Minecraft?... 20 Wat staat er in dit boek?.... 20 Online bronnen... 22 Ga nu maar op avontuur...

Nadere informatie

DE ASTRO PI PROGRAMMEREN VOOR MISSION ZERO

DE ASTRO PI PROGRAMMEREN VOOR MISSION ZERO DE ASTRO PI PROGRAMMEREN DOCENTENHANDLEIDING 1 Deze handleiding is bedoeld om leerlingen te ondersteunen bij de Astro Pi Challenge, waarbij leerlingen een programma voor de Astro Pi-computer in het ISS

Nadere informatie

Functioneel programmeren

Functioneel programmeren Functioneel programmeren Practicumopgave 2: Mastermind Het doel van deze opgave is het implementeren van het spel Mastermind; zie http://nl.wikipedia.org/wiki/mastermind voor een uitleg. Het spel is klein

Nadere informatie

Constanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object.

Constanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object. een symbolische naam voor een object. Variabelen Constanten Variabelen Expressies naam : geeft de plaats in het geheugen aan waarde : de inhoud van het object identifier : een rij van letters en/of cijfers

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

Programmeermethoden NA. Week 5: Functies (vervolg)

Programmeermethoden NA. Week 5: Functies (vervolg) Programmeermethoden NA Week 5: Functies (vervolg) Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna2016/ Functies Vorige week bekeken we functies: def bereken(a, x): return a * (x

Nadere informatie

Objective-C Basis. 23 april 2005, Eindhoven Patrick Machielse

Objective-C Basis. 23 april 2005, Eindhoven Patrick Machielse Objective-C Basis 23 april 2005, Eindhoven Patrick Machielse patrick@hieper.nl Algemeen // extensies Objective-C code in bestanden met.m extensie // commentaar moet! /* Alles hiertussen wordt genegeerd

Nadere informatie

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin: Java Les 2 Theorie Beslissingen Algemeen Net als in het dagelijks leven worden in software programma s beslissingen genomen, naast het toekennen van waarden aan variabelen zijn beslissingen één van de

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

Online c++ leren programmeren:

Online c++ leren programmeren: Online c++ leren programmeren: Inhoud 1)Waar vind ik een c++ compiler?... 2 2)Hoe start ik een programma in c++?... 2 3)Een eerste c++ programma:... 3 Een eerste programma schrijven:... 3 Mijn eerste programma

Nadere informatie

Lab Webdesign: Javascript 11 februari 2008

Lab Webdesign: Javascript 11 februari 2008 H2: BASISBEGRIPPEN In dit hoofdstuk zullen er enkele basisbegrippen worden behandelt PLAATSING VAN JAVASCRIPT-CODE DE SCRIPT-TAG De script-tag geeft aan dat er gebruik zal worden gemaakt van een scripttaal.

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

Stroomschema s maken in Word

Stroomschema s maken in Word 1 Stroomschema s maken in Word Een programma direct maken in Scratch gaat vaak wel goed als het een klein programma is. Als het programma groter en moeilijker is, is het lastig om goed te zien welk commando

Nadere informatie

[8] De ene 1 is de andere niet

[8] De ene 1 is de andere niet [8] De ene 1 is de andere niet Volg mee via 08_Types.py In de volgende leerfiche gaan we rekenen met Python. Dat kan je in een programma doen, maar dat kan je ook gewoon vanuit het Shell-venster doen.

Nadere informatie

Programmeren: Visual Basic

Programmeren: Visual Basic PETERSTUYVESANT COLLEGE INFORMATICA 2009-2010 Programmeren: Visual Basic Algemene Kennis: 01. Programmeren Programmeren is het schrijven van een computerprogramma, een concrete verzameling instructies

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

Les 12 : database koppeling, opmaken van template, webstructuur en afdrukken van gegevens. (deel2).

Les 12 : database koppeling, opmaken van template, webstructuur en afdrukken van gegevens. (deel2). Les 12 : database koppeling, opmaken van template, webstructuur en afdrukken van gegevens. (deel2). In de volgende reeks lessen zal alle vorige leerstof uitgebreid aan het bod komen. Zie ook de vorige

Nadere informatie

Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen

Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen Installeer Apache2: Deze howto gaat over name based virtual hosting onder Apache 2.x., en is getest onder OpenSUSE 11 maar is in feite ook van toepassing op de andere distributies. Alleen Debian en afgeleide

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

Arrays. Complexe datastructuren. Waarom arrays. Geen stijlvol programma:

Arrays. Complexe datastructuren. Waarom arrays. Geen stijlvol programma: Geen stijlvol programma: Complexe datastructuren Arrays vijf verschillende variabelen voor iets dat als één rij getallen bestempeld wordt; onbruikbaar wanneer het over meer getallen (bijvoorbeeld ) gaat.

Nadere informatie

Stroomschema s maken op papier

Stroomschema s maken op papier 1 Stroomschema s maken op papier Een programma direct maken in Python, gaat vaak wel goed als het een klein programma is. Als het programma groter en moeilijker is, is het lastig om goed te zien welk commando

Nadere informatie

PHP tekst-bewerkingen, uploaden csv-bestanden import/eport

PHP tekst-bewerkingen, uploaden csv-bestanden import/eport PHP tekst-bewerkingen, uploaden csv-bestanden import/eport Inhoudsopgave Inleiding 3 Voorkennis voor PHP-gevorderd 3 PHP Bestandsbewerkingen 4 Gegevens in een tekstbestand zetten 4 Gegevens zoeken in een

Nadere informatie

Formulieren en waarden posten naar een view

Formulieren en waarden posten naar een view Hoofdstuk 4 Formulieren en waarden posten naar een view Waarden posten naar een view in een Zend-project gaat heel anders dan dat je gewend bent. Om dit mechanisme te leren, kunnen we het beste een eenvoudige

Nadere informatie

Jörg R. Hörandel Afdeling Sterrenkunde.

Jörg R. Hörandel Afdeling Sterrenkunde. Jörg R. Hörandel Afdeling Sterrenkunde http://particle.astro.ru.nl/goto.html?prog1213 1 Alle mensen moeten op blackboard ingeschreven zijn! 2 http://particle.astro.ru.nl/goto.html?prog1213 3 eindcijfer:

Nadere informatie