AJAX (asynchroon javascript xml)
|
|
|
- Erik ten Wolde
- 9 jaren geleden
- Aantal bezoeken:
Transcriptie
1 AJAX (asynchroon javascript xml) Introductie Laten we maar eens beginnen met dit buzz-word van het jaar 2005 uit elkaar plooien: Asynchroon: Dit slaat op het niet-synchroon laden van gegevens met het laden van de rest van de pagina. Je kan de gegevens dus achteraf op ieder willekeurig moment opvragen. Dit is ook meteen de kracht van AJAX. Je hoeft dus niet altijd de hele pagina te laden, maar kan nu ook een klein stukje opvragen. Dit is veel sneller en doordat het scherm niet eens hoeft te flikkeren geeft dit veel meer het gevoel van een echte interactieve applicatie. Javascript: XMLHTTPRequest, zoals het officieel heet, wordt ook gebruikt in Flash, Java en nog een hele collectie andere programmeer-talen. Maar wij hebben het hier over javascript, dat zo ongeveer door iedere moderne browser (vanaf IE 5.5+ en Mozilla 1.4+) wordt ondersteund. Dit maakt AJAX ook echt het overwegen waard. dummy A: puur voor de uitspraak, want AJX bekt niet lekker. XML: XMLHTTPRequest was ontworpen voor het inladen van XML-documenten, maar daar is het zeker niet tot gelimiteerd! Ik bespreek hier drie methoden van het formuleren van gegevens. Als extratje laat ik nog even een klein beetje event-afhandeling zien, om jullie te bevorderen het te gebruiken. Ik vereis wel dat je weet wat ik bedoel met objecten (bijna gelijk aan die van PHP) en dat je weet dat Java niet Javascript is, en natuurlijk dat Javascript hoofdletter gevoelig is. Voorbeelden Ik heb nog een paar voorbeelden bijgevoegd, die ik zelf heb gebruikt/gemaakt om XMLHTTPRequest te begrijpen. Ze zijn allemaal heel simpel, en niet hier besproken of gedocumenteerd o.i.d. Bij vragen, kan je natuurlijk het forum raadplegen. phphulp.ikhoefgeen.nl/xmlhttprequest.zip
2 Javascript events Ikzelf maak maar al te graag gebruik van events. Dit is een soort alternatief voor de onmouseover en onclick attributen in je tags. De functie die ik maar al te graag gebruik, ook weer puur om van de ongelijkheden in verschillende browsers af te komen: function addevent(obj, eventtype,fn, usecapture) if (obj.addeventlistener) obj.addeventlistener(eventtype, fn, usecapture); return true; else if (obj.attachevent) var r = obj.attachevent("on"+eventtype, fn); return r; Een voorbeeld van gebruik van deze functie: Stel, we hebben een plaatje met als id afbeelding (<img src="" id="afbeelding" alt=""/>). Deze kunnen we vanuit Javascript oproepen via document.getelementbyid('afbeelding') en dan aan een variabele toewijzen. Pas op: Je kan pas een element uit de pagina selecteren nadat de pagina helemaal geladen is. Gebruik hiervoor het onload-event. Zelf vind ik dit de meest handige aanpak. Maak een functie genaamd init() en zet hier alles in wat er moet gebeuren zodra de pagina geladen is (variabelen een waarde geven, andere functies starten bijvoorbeeld) Plaats deze regel onderaan in je code: addevent(window, 'load', init); Die een schietgebedje. Er is een redelijke kans dat je computer kan exploderen. Nu moeten we dus een even hangen aan dit object. Zie het totaalvoorbeeld, aangezien dat naar mijn mening veel makkelijker uitlegt dan al die code tussen tekst: function init() var afbeeldingobject = document.getelementbyid('afbeelding'); addevent(afbeeldingobject, 'click', laatlezerschrikken); function laatlezerschrikken() alert('boeh!'); addevent(window, 'load', init);
3 Javascript events (extra en overbodig) Nog even een klein voorbeeldje van wat je nog meer kan met events. Dit is echt overbodige luxe, maar ik vind toch dat je het moet weten :-) function init() var inputobject = document.getelementbyid('invulformulier'); addevent(inputobject, 'keyup', geefoverbodigeinformatie); return; function geefoverbodigeinformatie(e) if(e.keycode == 13) alert('jij grapjas, jij drukte op enter!'); //voor meer keycodes, probeer eens alert(e.keycode); return; addevent(window, 'load', init); In dit geval is er een element wat je de aandacht kan geen, zoals een formulier-element (<select/> en <input/> bijvoorbeeld) maar ook op window werkt het. Zo kan je dus vrij gemakkelijk de escape-knop afvangen. Experimenteren met de return (false/true/niets) levert weer andere effecten op.
4 Het XMLHTTPRequest object Het Object aanmaken De implantatie van XMLHTTPRequest verschilt helaas wel per browser. Gelukkig merken we dat eigenlijk alleen in het initialiseren (het aanmaken) van het object. De rest is zo goed als algemeen onder alle implantaties. Deze functie gebruik ik altijd voor het maken van een object. Hij is eigenlijk heel onlogisch en niet netjes en maakt gebruik van een hoopje bij elkaar gebietste hacks voor zowel IE als Mozilla, maar werkt wel. function createhttphandler() httphandler = false; /*@if (@_jscript_version >= 5) // JScript gives us Conditional compilation, we can cope with old IE versions. // and security blocked creation of the objects. try httphandler = new ActiveXObject("Msxml2.XMLHTTP"); catch (e) try httphandler = new ActiveXObject("Microsoft.XMLHTTP"); catch (E) httphandler if (!httphandler && typeof XMLHttpRequest!='undefined') httphandler = new XMLHttpRequest(); return httphandler; Een voorbeeld van het gebruiken van deze functie is overdreven simpel: var XMLHTTPObject = createhttphandler(); En nu hebben we ons XMLHTTPObject in de gelijknamige variabele. Initialiseren ervan kan het beste pas waneer de pagina geladen is, omdat elementen in je pagina pas beschikbaar zijn waneer de pagina klaar is met laden. Zie mijn event-pagina s voor een van de vele methoden. Het object zijn parameters meegeven Je hebt nu een leuk object, maar dat object heeft echt geen flauw idee wat het moet doen. Het is er gewoon, als een zombie. Dus kleden we het wat aan. XMLHTTPObject.open('GET', 'pagina.php?wachtwoord=1234', true); De eerste parameter (string), in mijn voorbeeld GET kan GET of POST zijn. Ik neem aan dat het verschil wel bekend is. GET geeft zijn parameters via de url mee, POST via de body van de aanvraag.
5 Mijn tweede parameter, pagina.php, is de url die aangevraagd moet worden. Hier kan je ook nog standaard GET-parameters aan toevoegen, zoals bekend. Derde parameter (boonlean) is de keuze of we een synchroon of een asynchroon vraagje willen stellen. Zet je deze op false, dan zal je pagina bevriezen waneer de aanvraag wordt uitgevoerd. Of dat nou echt is wat we willen... de open()-functie doet niets anders dan parameters instellen. Er wordt nog geen data verzonden, en is nog niets in gang gezet! Okee, nu weten we welke pagina we willen hebben, en op wat voor manier. Maar wat moet er gebeuren met het antwoord? XMLHTTPObject.onreadystatechange=function() if (XMLHTTPObject.readyState==4) //die iets leuks onreadystatechange is een mooi voorbeeld van een andere manier van events gebruiken. Waneer ons object naar een andere fase van de aanvraag springt, moet deze functie worden uitgevoerd. In mijn voorbeeld maak ik gebruik van een naamloze functie, die direct aan het event wordt geplakt. Je kan function() ook vervangen door bijjvoorbeeld geefoverbodigeinformatie uit mijn event(extra)-voorbeeld. Ik denk dat je via addevent() (weer uit mijn event-voorbeeld) ook dit event kan uitbuiten, maar dat heb ik nog nooit geprobeerd, en deze methode lijkt mij onderweg ook handiger. Dan komen we meteen bij mijn if-lus. Deze kijkt in welke fase mijn object dan wel ooit niet bezig is. Er zijn 4 fasen. 1. ik doe niks, maar ben er klaar voor 2. ik doe de aanvraag 3. ik krijg antwoorden binnen 4. ik heb alle antwoorden binnen Vanaf fase 3 zou je in principe de binnengetrokken data kunnen gaan gebruiken, maar waarschijnlijk is de afhandeling sneller dan het ophalen, en dan loopt het zootje vast. Niet doen dus, altijd wachten op fase 4. Houd er rekening mee dat deze functie pas uitgevoerd wordt nadat de aanvraag dus gestart is, en dat is nog steeds niet het geval. Ik ga mijn cliff-hanger niet nu al verraden. En we hebben data, en wel in het object. En dat gaan we eruit halen, muhaha! var inhouddiv = document.getelementbyid('inhoud'); inhouddiv.innerhtml = XMLHTTPObject.responseText; En dan zit er in onze div het antwoord van de aanvraag. Als alternatief kan je responsexml gebruiken, maar daar kom ik op terug in de pagina s over alternatieve data-formaten.
6 We kunnen nog wat meer parameters meesturen, waar we later geen spijt van zullen krijgen: XMLHTTPObject.setRequestHeader("Cache-Control", "no-cache"); XMLHTTPObject.setRequestHeader("X_USERAGENT", "MijnAjaxApplicatie"); Ik stuur nog een header mee om caching te voorkomen. Als alternatief kan je je url nooit hetzelfde laten worden, door bijvoorbeeld een timestamp als parameter mee te sturen. Ik stuur ook nog een header mee waaraan ik de aanvraag van mijn object straks in mijn script aan terug kan herkennen. Later wordt wel duidelijk waarom ik dat zou willen. De daadwerkelijke request XMLHTTPObject.send(null); Hahaha, dat was het dan. send() zet het allemaal in werking. send() moet altijd een parameter meekrijgen, namelijk de inhoud van de body van de aanvraag. Ik maakte een GETaanvraag, dus de body blijft leeg. Ik moet toch null invullen, anders krijg ik foutmeldingen. In het geval van een POST-aanvraag vul je daar in plaats van null je gegevens in, geschreven als parameter=waare¶meter2=waarde. Komt je vast bekend voor.
7 De afhandeling van de vraag Het voorgaande was het javascript-gebeuren, nu weer terug naar PHP. Ik neem aan dat je PHP wel aardig beheerst, en dat ik hier dus niet iedere stap uit hoef te leggen. Ik heb een aanvraag gedaan naar pagina.php, met als GET-parameters wachtwoord. Dat wil ik nu gehashed weer terug sturen naar de cliënt. <?php echo md5($_get['wachtwoord']);?> Dat is inderdaad aanzienlijk makkelijker dan het aanvragen. Maar ik had ook nog een aparte header mee gestuurd, iets met USERAGENT. Waar was dat dan goed voor? Dat was om de compatibiliteit te verhogen. Zo kan je snel kijken of je te maken hebt met een gebruiker die de pagina via mijn object aanroept, of gewoon met de browser er heen gaat. In dat laatste geval kan je dan complete HTML-uitvoer geven. Voor de AJAX klant stuur je alleen de benodigde informatie terug. De rest heeft hij immers nog. Hoe herken ik mijn object dan nu? <?php if(isset($_server['http_x_useragent']) && $_SERVER['HTTP_X_USERAGENT'] == 'MijnAjaxApplicatie') //een ajax-klant else //een saaie browser die een saaie standaard aanroep doet.?>
8 De 4 manieren om data te schrijven Bij mijn weten zijn er 4 manieren om gegevens de coderen. 1. Als gewone saaie HTML met alles erop er eraan 2. Als platte tekst, die gesplitst moet worden 3. Als XML 4. Als JSON Manier 1: Gewone HTML Deze heb ik al hierboven in mijn voorgaande voorbeelden gebruikt, omdat deze de makkelijkste methode is. Maar daarbij ook de smerigste. Je stuurt namelijk allemaal zooi op die de browser ook prima zelf kan: de opmaak. Een antwoord wordt daardoor vele malen groter en minder abstract. Die abstractie is makkelijk bij het maken van meerdere applicaties, of het aanpassen van het uiterlijk. Heb je die abstractie niet, dan moet je dus ook je PHP-bestanden allemaal aanpassen. Manier 2: Platte tekst Deze manier gebruik ik zelf graag (Tot nu toe) omdat hij bijna net zo simpel is, maar ook abstractie geeft. Javascript voorbeeld: (mijn antwoord zit in XMLHTTPObject.responseText ) //de if-lus e.d. if(xmlhttpobject.repsonsetext!= '') var dataalsstring = XMLHTTPObject.repsonseText; var dataalsarray = new Array(); dataalsarray = dataalsstring.split(' '); alert('titel:'+dataalsarray[0]+'\n' +'Auteur:'+dataAlsArray[1]+'\n' +'Pagina\'s:'+dataAlsArray[2]); Als antwoord had ik opgestuurd: De Ijzeren Wil Bas Haring 174 Het grote nadeel is dat het antwoord zo abstract is, dat je niet weet wat wat is. Misschien was de drukkerij wel De Ijzeren Wil genaamd, en heette het boek Bas Haring. Ik moet mijn applicatie uit het hoofd kennen om de data te kunnen snappen. Dit is niet erg als je systeem alleen voor jezelf is, en je er later nooit meer naar om hoeft te kijken, maar kut waneer dat dus niet het geval is. Daarbij komt nog eens het probleem bij uitbreiden. Wil je meer data versturen, bijvoorbeeld voor een ander object dat wel gebruik maakt van hetzelfde adres (PHP-bestand), dan moet je de toevoegingen erachter zetten. Manier 3: Als XML Bij XML kan je overal je gegevens uitbreiden, alle kanten op. En al je gegevens in je antwoord zijn mooi gelabeld, dus het is duidelijk voor buitenstaanders, of jezelf over 1 jaar.
9 Nadeel is de grote hoeveelheid code die je meestuurt (voor iedere waarde moet je 2 maal een sleutel meesturen. Een begin-tag en een eind-tag.) en de nog grotere hoeveelheid code die je nodig hebt om de boel te parsen. Dit gaat bijna hetzelfde als het parsen van de html-pagina. var antwoord = XMLHTTPObject.responseXML; var root = antwoord.documentelement; var boeken = root.getelementsbytagname('boek'); var schrijver = null; var titel = null; var paginas = null; for(i = 0; i < boeken.length; i++) paginas = getnodevalue(boeken.item(i), 'paginas'); schrijver = getnodevalue(boeken.item(i), 'schrijver'); titel = getnodevalue(boeken.item(i), 'titel'); alert('titel:'+titel+'\n' +'Auteur:'+schrijver+'\n' +'Pagina\'s'+paginas); function getnodevalue(obj,tag)//dankje Peter Paul Koch ( return obj.getelementsbytagname(tag)[0].firstchild.nodevalue; Het antwoord ziet er dan ongeveer zo uit: <?xml version="1.0" encoding="utf-8"?> <boeken> <boek> <titel>de Ijzeren Wil</titel> <schrijver>bas Haring</schrijver> <paginas>168</paginas> </boek> </boeken> Let wel op dat waneer je het antwoord met PHP maakt, je de header Content-type: application/xml meestuurt, anders wordt het niets, en ziet javascript het gewoon als saaie HTML, en bestaat het reponsexml niet eens. Manier 4: JSON (het beste uit te spreken als Jason (ja, nog een griek)) Bij deze methode gaat het erom dat je het antwoord als javascript-object (arrays en objecten zijn in Javascript heel erg vergelijkbaar) terugstuurt. Het voordeel is dat je het antwoord niet meer hoeft te parsen. Dat scheelt overdreven veel code, en nog meer processorrondjes. Nadeel (vinden sommigen tenminste) is het moeten gebruiken van eval(), om de string (het antwoord) om te zetten naar een object.
10 Helaas kan ik hier nog niet meer informatie over geven, aangezien dit ook nieuw voor mij is. Dit stukje komt dan waarschijnlijk nog in de nabije toekomst.
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
AJAX (XMLHttpRequest)
AJAX (XMLHttpRequest) Ajax is hot. De meesten die met webdesign bezig zijn hebben er wel al van gehoord, veronderstel ik. Voor diegenen die er nog niet van hoorden, of nog niet mee werkten volgt hier een
Websitecursus deel 3 JavaScript
Websitecursus deel 3 JavaScript A Eskwadraat WebCie [email protected] 12 oktober 2015 Introductie Twee weken geleden HTML Vorige week CSS Deze week JavaScript Javascript JavaScript (ook wel JS) is een
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
Jarno Verhoogt 21 mei 2014 Stud. Nr. 500684953 Docent: Joost Faber. Deeltoets 2: Hoe maak je met javascript een eenvoudige slideshow?
Jarno Verhoogt 21 mei 2014 Stud. Nr. 500684953 Docent: Joost Faber Deeltoets 2: Hoe maak je met javascript een eenvoudige slideshow? Inleiding Dit is een eenvoudige handleiding om in javascript een simpele
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
Organiseer uw verschillende SOAP services in één scenario
1 Organiseer uw verschillende SOAP services in één scenario Wouter Luijten [email protected] 2 Introductie Tijdens de implementatie van een proces heeft u vaak te maken met een veelvoud aan services.
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
GoogleMapsGoogleMapsGoogleMaps GoogleMapsGoogleMapsGoogleMaps GoogleMapsGoogleMapsGoogleMaps
Google Maps INHOUDSOPGAVE Inleiding.. 3 Een Google Map maken.. 4 Een eigen adres opgeven 7 Inzoomen op je eigenkaart. 8 Satellietbeeld op je eigenkaart. 10 Markers plaatsen. 13 Tekstballon plaatsen.. 15
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
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
Websitecursus deel 1 HTML
Websitecursus deel 1 HTML WebCie A Eskwadraat [email protected] 8 april 2015 Inleiding Website cursus in drie delen: HTML CSS Javascript We gaan uit van geen voorkennis. Als je vragen hebt, stel ze!
AJAX. Asynchronous Javascript And XML
AJAX Asynchronous Javascript And XML AJAX (spreek uit: eɪdʒæks) AJAX is een manier om interactieve webapplicaties te ontwikkelen door een combinatie van de volgende technieken te gebruiken: HTML en CSS
Les 15 : updaten van gegevens in de database (deel2).
Les 15 : updaten van gegevens in de database (deel2). In de volgende reeks lessen zal alle vorige leerstof uitgebreid aan het bod komen. Zie ook de vorige lessen en documenten om informatie op te zoeken
HTTP SMS API Technische Specificatie messagebird.com versie 1.1.6-05 mei 2014
HTTP SMS API Technische Specificatie messagebird.com versie 1.1.6-05 mei 2014 1 Inhoudsopgave INHOUDSOPGAVE 2 1 VERBINDING MET DE API 4 1.1 QUICK START 4 2 SMS PARAMETERS 5 2.1 VERPLICHTE PARAMETERS 6
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
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
API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8
API API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8 Identificatie Alle programma's communiceren met elkaar door gebruik te maken van JSON objecten. Het normale
IBAN API. Simpel & krachtig. Documentatie : IBAN REST API Versie : 1.0 DE BETAALFABRIEK
IBAN API Simpel & krachtig Documentatie : IBAN REST API Versie : 1.0 DE BETAALFABRIEK Introductie De Betaalfabriek IBAN API is een REST API om IBAN-conversie en validatie te integreren in uw administratiesysteem,
Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.
Algemeen C# Variabele Een variabele is een willekeurige waarde die word opgeslagen. Een variabele heeft altijd een datetype ( De soort waarde die een variabele bevat). Datatypes Een datatype is de sort
Gegevens uit een database tonen
Gegevens uit een database tonen In een eerdere handleiding heb ik jullie laten zien hoe je met behulp van MySQL en phpmyadmin een database kunt opzetten. We hebben toen een database aangemaakt en gevuld
API Specificatie Doc
API Specificatie Doc (reisafstanden.nl) Request Request Methode GET URL https://www.reisafstanden.nl/api? Request parameters Parameter Opties Verplicht Uitleg contenttype json of xml of jsonp of credits
Externe pagina s integreren in InSite en OutSite
Externe pagina s integreren in InSite en OutSite Document-versie: 1.1 Datum: 04-10-2013 2013 AFAS Software Leusden Niets uit deze uitgave mag verveelvoudigd worden en/of openbaar gemaakt worden door middel
API Specificatie Doc
API Specificatie Doc (reisafstanden.nl) Version Request versie Aanpassingen 1.2.0 Aankomstdatumtijd en vertrekdatumtijd toegevoegd als optie 1.1.0 Referentie toegevoegd als optie voor in en output 1.0.0
Dynamische Websites. Week 2
Dynamische Websites Week 2 AGENDA Labo 1 GET, POST Navigatie, etc Varia 1 2
Gegevens uit een database tonen
Gegevens uit een database tonen In een eerdere handleiding heb ik jullie laten zien hoe je met behulp van MySQL en phpmyadmin een database kunt opzetten. We hebben toen een database aangemaakt en gevuld
Eigen Widgets in CRM. Introductie. Limitering. Widgets beschikbaar stellen. Tips & Tricks Eigen Widgets in CRM
Tips & Tricks Eigen Widgets in CRM Eigen Widgets in CRM Introductie De WebUI van CRM 7.0 maakt het mogelijk om je eigen widgets te maken en deze in je eigen view te gebruiken. Dat kan door gebruik te maken
Security web services
Security web services Inleiding Tegenwoordig zijn er allerlei applicaties te benaderen via het internet. Voor bedrijven zorgt dit dat zei de klanten snel kunnen benaderen en aanpassingen voor iedereen
Web Application Security Hacking Your Way In! Peter Schuler & Julien Rentrop
Web Application Security Hacking Your Way In! Peter Schuler & Julien Rentrop 1 Agenda Injection Cross Site Scripting Session Hijacking Cross Site Request Forgery #1 OWASP #2 top 10 #3 #5 Bezoek www.owasp.org
DrICTVoip.dll v 2.1 Informatie en handleiding
DrICTVoip.dll v 2.1 Informatie en handleiding Nieuw in deze versie : Koppeling voor web gebaseerde toepassingen (DrICTVoIPwebClient.exe) (zie hoofdstuk 8) 1. Inleiding Met de DrICTVoIP.DLL maakt u uw software
HTML Graphics. Hans Roeyen V 3.0
HTML Graphics Hans Roeyen V 3.0 19 maart 2015 Inhoud 1. HTML5 Canvas... 3 1.1. Het Canvas element... 3 2. SVG Element... 9 2.1. SVG vergeleken met Canvas... 9 2.2. Een cirkel tekenen met SVG... 10 2.2.1.
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
Introductie Veiligheidseisen Exploiten Conclusie. Browser security. Wouter van Dongen. RP1 Project OS3 System and Network Engineering
Browser security Wouter van Dongen RP1 Project OS3 System and Network Engineering Februari 4, 2009 1 Introductie Onderzoeksvraag Situatie van de meest populaire browsers Client-side browser assets vs.
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
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.
Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, uur
Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, 13.00-15.00 uur 1. De situatie die ontstaat door class A : B C D; kan beschreven worden door (a) B is een A (b)
Je website (nog beter) beveiligen met HTTP-Security Headers
Je website (nog beter) beveiligen met HTTP-Security Headers Wat is HTTP? Het HTTP (Hypertext Transfer Protocol) protocol is een vrij eenvoudig, tekst gebaseerd, protocol. Dit HTTP protocol regelt de communicatie
Practicumopgave 3: SAT-solver
Practicumopgave 3: SAT-solver Modelleren en Programmeren 2015/2016 Deadline: donderdag 7 januari 2016, 23:59 Introductie In het vak Inleiding Logica is onder andere de propositielogica behandeld. Veel
Webapplication Security
Webapplication Security Over mijzelf 7 jaar in websecurity Oprichter van VirtuaX security Cfr. Bugtraq Recente hacks hak5.org wina.ugent.be vtk.ugent.be... Aantal vulnerable websites Types vulnerable
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
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
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
Voordelen: Nadelen: Benodigdheden: Programma s: Google Web Designer. Photoshop. Sublime (HTML-editor) Websites: Tinypng.com
Google Web Designer Voordelen: Sneller en makkelijker. Banners kunnen worden afgespeeld op telefoons (flash kan dit niet). Het vervangen van plaatjes kan zonder het programma op te starten. Meer FPS dan
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
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
Een website maken met databasetoegang.
Hoofdstuk 5 Een website maken met databasetoegang. In dit hoofdstuk gaan we het weblog dat je in hoofdstuk 4 hebt gemaakt verder uitbreiden. Een belangrijk onderdeel wordt toegevoegd aan de applicatie,
Handleiding Wordpress
Handleiding Wordpress V 1.0 Door Inhoud Inloggen op de website... 3 Het Dashboard... 4 Berichten... 5 Berichten aanmaken... 5 Berichten bewerken... 6 Pagina's... 7 Pagina's aanmaken... 7 Pagina's bewerken...
Temperatuur logger synchronisatie
Temperatuur logger synchronisatie Juni 10, 2010 1 / 7 Temperatuur logger synchronisatie Introductie Twee of meerdere ontvangers van het Multilogger systeem kunnen met de temperature logger synchronisatie
HDN DARTS WEB AUTHENTICATIE
HDN DARTS WEB AUTHENTICATIE HDN Helpdesk T: 0182 750 585 F: 0182 750 589 M: [email protected] Copyright Communications Security Net B.V. Inhoudsopgave 1. INLEIDING OP HET ONTWERP... 3 1.1 HET DOEL VAN DIT
IMP Uitwerking week 13
IMP Uitwerking week 13 Opgave 1 Nee. Anders moet bijvoorbeeld een venster applicatie een subklasse zijn van zowel Frame en WindowListener. Als de applicatie ook een button of een menu heeft, dan moet het
Object Oriented Programming
Object Oriented Programming voor webapplicaties Door Edwin Vlieg Waarom OOP? Basis uitleg over OOP Design Patterns ActiveRecord Model View Controller Extra informatie Vragen OOP Object Oriented Programming
Meehelpen met de ontwikkeling van nieuwe of verbetering van bestaande spellen. Pag. 1 www.edubas.nl
Meehelpen met de ontwikkeling van nieuwe of verbetering van bestaande spellen. Pag. 1 Versie 1.0 februari 2015 Start-versie Over dit document In dit document probeer is duidelijk te maken hoe de spellen
Handleiding Woonz.nl iframe
Handleiding Woonz.nl iframe Woonz.nl biedt de mogelijkheid om uw actuele woningaanbod op Woonz.nl op uw website te tonen. Hiervoor dient u eerst een API-key te ontvangen van Woonz.nl, dit is een sleutel
HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS)
HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS) LES 3 De programma s die we in Les 1 en Les 2 gezien hebben, zagen er niet erg mooi uit. In deze les gaan we er onder andere naar kijken, hoe we de programma
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
Handleiding website. Inloggen Start uw internet browser en ga naar http://www.rbaoreven.nl/. Laatst bijgewerkt: 17 mei 2008
Handleiding website Laatst bijgewerkt: 17 mei 2008 In deze handleiding staat alles wat u nodig heeft om een bericht op de website van de Reddingsbrigade Aoreven Heythuysen te plaatsen. Alles wordt in woord
React en React Native voor websites en apps
React en React Native voor websites en apps H A N S-PE T E R H ARMSEN HEEFT DI T GE SCH R E V EN IN APRI L 2017 Deze whitepaper is bedoeld voor product owners en beslissers. Hij gaat over React, een JavaScript
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
Een ASP.NET applicatie opzetten. Beginsituatie:
Hoofdstuk 1 Een ASP.NET applicatie opzetten Beginsituatie: Windows XP Pro, Windows Vista Pro of Windows 7 Pro Visual Studio.NET moet zijn geïnstalleerd. Let hierbij op dat de Express versie niet voldoet.
HTML Editor: de eerste stappen
LES 18 HTML Editor: de eerste stappen In deze les leert u werken met HTML Editor. Daarbij geven we tevens een inleiding tot HTML. Hoewel op dit moment HTML versie 4.01 in gebruik is, maakt de HTML Editor
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.
Technisch ontwerp. Projectteam 6. Project "Web Essentials" 02 april 2009. Versie 2.1.0
Projectteam 6 Faculteit Natuur en Techniek Hogeschool Utrecht Projectleider: Hans Allis, [email protected] Technisch ontwerp Project "Web Essentials" 02 april 2009 Versie 2.1.0 Teamleden: Armin
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...........................
Scala. Korte introductie. Sylvia Stuurman
Korte introductie Sylvia Stuurman Wat is er zo bijzonder aan? Schaalbaar Objectgeoriënteerd (handiger dan Java!) Functioneel Scripts schrijven Gecompileerd: Java bytecode Pagina 2 voor scripts Pagina 3
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 6 december 2013 Terugblik Programma en geheugen Opdrachten Variabelen Methoden Objecten Klasse Programma en geheugen Opdrachten Variabelen zijn gegroepeerd in
Getting Started with Python Programming
Getting Started with Python Programming QGIS Tutorials and Tips Author Ujaval Gandhi http://google.com/+ujavalgandhi Translations by Dick Groskamp This work is licensed under a Creative Commons Attribution
HTML. Media. Hans Roeyen V 3.0
Media Hans Roeyen V 3.0 12 maart 2015 Inhoud 1. (Multi)Media op websites... 3 2. Flash en Websites... 4 3. Video op je website... 4 3.1. YouTube insluiten op de pagina... 4 3.2. Video zonder YouTube...
Zo gaat jouw kunstwerk er straks uitzien. Of misschien wel heel anders.
Spirograaf in Python Een kunstwerk maken Met programmeren kun je alles maken! Ook een kunstwerk! In deze les maken we zelf een kunstwerk met Python. Hiervoor zal je werken met herhalingen en variabelen.
Proware Cloud Webbuilder Versie 2.30
Proware Cloud Webbuilder Versie 2.30 Laatste update: 02-12-2013 Inhoudsopgave Het principe van open login... 3 Functie- en procedurebeschrijving... 5 Loginfunctie... 5 Bevestigingsfunctie... 5 Demobestanden...
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:
10. Single Page Applications
WHITEPAPER IN 5 MINUTEN M E I 2 0 1 4 10. Single Page Applications Introductie De wereld verandert snel en gebruikers openen je site of applicatie steeds minder met een traditionele browser. Een site of
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
Verslag. Projectteam: 107 Datum: 16 oktober 2008 Project leden: Lennard Fonteijn Harish Marhe Nicoletta Saba Turgay Saruhan Robin Tummers
Verslag SE Projectteam: 107 Datum: 16 oktober 2008 Project leden: Lennard Fonteijn Harish Marhe Nicoletta Saba Turgay Saruhan Robin Tummers In dit verslag zullen wij een beschrijving geven, over welke
Implementatie AssurePay ASP.NET. ideal
Implementatie AssurePay ASP.NET ideal Implementatie AssurePay ASP.NET 2 van 11 Inhoudsopgave Microsoft ASP.NET... 3 Classic ASP... 9 Implementatie AssurePay ASP.NET 3 van 11 Microsoft ASP.NET Implementeren
formulieren met gedragingen en
14 Interactieve formulieren met gedragingen en SPRY De belangrijkste punten van hoofdstuk 14 Kennismaken met behaviors. Webeffecten leren aanmaken. De verschillende soorten behaviors gebruiken. Wat leert
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
oefening JavaScript - antwoorden
oefening JavaScript - antwoorden De antwoorden op deze opgaven zijn meestal wat aan de brede kant voor een Word document. Het is daarom handig om ze in Notepad++ te kopiëren en ze dan te bekijken. opgave
4 ASP.NET MVC. 4.1 Controllers
4 ASP.NET MVC ASP.NET is het.net raamwerk voor het bouwen van webapplicaties. De MVC variant hiervan is speciaal ontworpen voor het bouwen van dergelijke applicaties volgens het Model-View-Controller paradigma.
Gegevenskoppeling BoekenRoute
Gegevenskoppeling BoekenRoute 1. Inleiding Dit document beschrijft de koppeling van de gegevens op BoekenRoute met de website van een uitgever. Veel uitgevers die deelnemen aan BoekenRoute, hebben uiteraard
B3 Programmeren - PHP
Wat is B3 Programmeren - De Basis Casper Bezemer Jan van Egmond Lyceum ( Jan van Egmond Lyceum ) 1 / 28 1 Wat is 2 Wat is 3 ( Jan van Egmond Lyceum ) 2 / 28 Wat gaan we tegenkomen Wat is Even wat geschiedenis
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
Template maken voor Webshops van FreeWebShop
Template maken voor Webshops van FreeWebShop Versie 1 Peter Jan van Tuil Maart 2011 [email protected] De uitdaging. Een kennis die een site wil hebben, een webshop. Het grafisch ontwerp is er al. Voor
Templates maken voor Joomla! Hoe maak je zelf een template voor je Joomla! website
Templates maken voor Joomla! Hoe maak je zelf een template voor je Joomla! website Wat we gaan doen 1. Wie ben ik? 2. Voor- en nadelen bestaande templates en eigen templates 3. Eigen template op basis
Les 7. Instap. CSS en views: schilderijen. Pas even de header aan van het thema en zorg ervoor dat er geen websitenaam en slogan te zien is.
Les 7 Instap Pas even de header aan van het thema en zorg ervoor dat er geen websitenaam en slogan te zien is. CSS en views: schilderijen Ons eerste overzicht in de vorige les bestond uit het tonen van
HTML in Outlook 2007. Hoe zorgt u ervoor dat uw email goed in beeld komt?
HTML in Outlook 2007 Hoe zorgt u ervoor dat uw email goed in beeld komt? HTML in Outlook 2007 Inleiding Emark Mail biedt u de mogelijkheid om kant en klare HTML nieuwsbrieven in te laden en te versturen.
2. KENNISMAKEN MET DE PROGRAMMA'S
Deze cursus is geschreven ter vervanging van de eerste twee les-stencils over HTML die we sinds 1997 op de PCW gebruikten. 'HTML voor beginners' helpt je een eind op weg met het maken van je eigen website.
Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access
Gebruik van cryptografie voor veilige jquery/rest webapplicaties Frans van Buul Inter Access 1 Frans van Buul [email protected] 2 De Uitdaging Rijke en veilige webapplicaties Een onveilig en
Inhoud. Revisiehistorie... 3. Inleiding... 4
Inhoud Revisiehistorie... 3 Inleiding... 4 1. Omgevingen... 5 1.1. Test/acceptatie-omgeving... 5 1.2. Productie-omgeving... 5 1.3. Methodes... 5 1.3.1. DataRequest... 5 1.3.2. StandaardDataRequest... 6
