RD
Deel 1 Algemeen ASP versus PHP 1 Zijn er grote verschillen? Asp en PHP zijn in principe gelijk Het verschild enkel vanwege de syntax van de taal. ASP en PHP zijn ongeveer even snel. Dat wil zeggen op dezelfde hardware (Celeron 300/256Mb RAM) is de combinatie Linux/PHP/MySQL ongeveer even snel als Windows/ASP/SQL Server. In beide gevallen praten we dan in de richting van 50 requests per seconde, het geen 99,9% van de gevallen is het aantal gebruikers niet eens toereikend om hier ook maar enig verschil in te merken. Noot: MySQL mist (standaard) enkele eigenschappen die MySQL niet geschikt maken voor transacties e.d. De update performance van MySQL zou daarom wel eens lager kunnen zijn dan van SQL Server, de test heeft alleen opvraag uit database getest. ASP op Linux is geen goed idee (11,7 requests per seconde), en PHP op Windows ook niet zo (IIS 4,7 requests per seconde/Apache 25 requests per seconde).
2. Talen. PHP wordt aanzien als een script en ASP is meer een soort taal die echter wordt ondersteund door meerdere basis talentalen. Daarin onderscheiden zich Java Script en VB Script. ASP is aanzienlijk makkelijker te leren voor mensen zonder programmeerachtergrond, of met Visual Basic kennis. C++/Perl programmeurs kunnen makkelijk PHP leren, maar ook ASP op basis van JScript. Houd er ook rekening mee dat de gemiddelde persoon makkelijker met Windows werkt dan met Linux. ASP wordt veel meer gebruikt dan PHP. De gemiddelde zoekmachine suggereert ASP 4x zoveel als PHP, maar het zal eerder richting 3 op 1 zijn.
3. Wat gebruikt men nu het best Daar zijn houden de programmeurs verschillende meningen op na. ASP is wel makelijker uit te breiden dan PHP. Maar daar staat tegenover dat PHP gratis is en ASP speciale Windows Server nodig heeft. We gaan proberen beide eventjes door te lichten, volgens de tijd die we hebben. Het blijft aan u de taal te kiezen waar u zich het best bij voelt en wat de gebruiker wenst te hebben. Veel van bovenstaande informatie werd uit http://www.fransonline.nl opgezocht.
2
RD
4 Websites, Statisch of Dynamisch? Als we een website bekijken die bestaat uit tekeningen tekst en afbeeldingen is die meestal geschreven in HTML. Dit door eventueel gebruik te maken van een programma die de pagina gemakkelijker te construeren maakt. Echter dit laat ook vermoeden dat de inhoud van de pagina onveranderd blijft terwijl de surfer de webpagina bekijkt. Echter door gebruik te maken van sommige script talen kan de bouwer van de website er enkele dynamische aspecten in betrekken. We denken aan JavaScript, .gif plaatjes of door gebruik te maken van Behaviours in Dreamweaver, en dergelijke. Deze pagina’s worden dan gemaakt in Dynamische HTML of DHTML. Dit kan men niet zien aan de extensie, immers deze blijft .html of .htm
4.1 Werking van statische website op de server webserver
Statische webpag. request
html/vbScript html/javascript response
Deze figuur geeft de loop van het proces als de gebruiker en webpagina oproept vanuit zijn browser. Na de aanvraag wordt de pagina direct naar de browser gestuurd. Immers de webpagina staat in de gewenste vorm klaar op de server.
4.2 Werking van een dynamische pagina op de server Bij deze is het proces tussen de vraag (request) en het doorsturen (response) van de webpagina lichtjes anders. Bij de groep van de webpagina’s worden nu ook pagina’s geteld die gebruik maken van scripts die aan de server eerst vertaald moeten worden in HTML en verwerkt. Nadien kan er een pagina doorgestuurd worden naar de gebruiker. ASP is één van de technieken die men daarvoor gebruikt voor de server scripts. Webpagina’s die ASP code bevat worden gekenmerkt met .asp extensie. Andere mogelijkheden zijn Java server pages (.jsp), coldfusion (.cfm) preprocessor Hypetext(.php zie later) en asp.net (.aspx).
3
RD
webserver
html/vbScript html/javascript
Dynamische webpag.
applicatie server
request
ASP /PHP/... in HTML response
html/vbScript html/javascript databank
Dynamische websites moet men steeds bekijken via een web server: Na de aanvraag stuurt de webserver de gevraagde pagina naar de applicatie server. Deze zorgt ervoor dat de dynamische code vertaald wordt naar HTML. Het uiteindelijk bekomen resultaat wordt dan terug gegeven naar de webserver die het dan op zijn beurt levert aan de gebruiker.
4.3 Verschillende serverscripts. 4.3.1 CGI Het werd al vlug duidelijk dat HTML te beperkt was om interactie met de gebruiker mogelijk te maken. Zelfs het controleren van een naam versus een wachtwoord is quasi onmogelijk met HTML, daarom heeft men vlug een aantal scripttalen ontwikkeld waarvan CGI de meest bekende is. CGI is in het HTML ingebed en zorgen dat HTML bestanden kunnen op de server als programma worden uitgevoerd.
4.3.2 ASP/PHP Er zijn echter problemen die rijzen bij het gebruik van CGI. Zoals het feit dat CGI betrekkelijk tijdrovend hebben de bekende software huizen andere technieken ontwikkeld. Hoewel ASP ontwikkeld is bij Microsoft is het een openstandaard en kan het ook gebruikt worden op LINUX server. IIS wordt gebruikt om deze te draaien of ook nog ChiliSoft voor andere OS.
4
RD
Deel 2 ASP 1 Mogelijkheden van ASP. ASP is zoals voordien reeds gesteld een taal waarbij de websites ‘levendig’ en ‘intelligent’ kunnen gemaakt worden. Het is vrij makkelijk aan te leren ten opzichte van CGI omdat een groot deel van de communicatie met de browser niet hoeft geprogrammeerd te worden. Een ander, niet te versmaden voordeel is dat men kan gebruik maken van bestaande componenten, welke gratis of tegen betaling van het Internet kunnen gehaald worden. Deze worden gebruikt om bijvoorbeeld een koppeling te verwezenlijken tussen de pagina en databases.
1.2 De voorbereiding fase voor werken met ASP. We hebben de mogelijkheid om te werken met een externe webserver of met een interne webserver. Ondanks dat we wel iets gaan proberen op een externe webserver zullen we echter opteren voor de lokale webserver. Dit omdat je hem direct bij de hand hebt. De werking met een externe server loopt parallel doch dan moet men opladen van de pagina’s naar de server. Voor externe server kan men een gratis pagina opmaken bij Brinkster.com. Dit kan nodig zijn als je werkt met bvb XP home edition. Deze heeft geen rechtstreekse mogelijkheid om de lokale webserver te activeren. XP pro is daar volledig voor voorzien. Het onderwerp wat we hierbij gebruiken is IIS welke voorzien is in uw OS.
1.2.1 Activeren van IIS Om de IIS te activeren zal men in het configuratie scherm van uw computer het onderdeel software aanduiden. In dit onderdeel kiest men voor het Windows onderdelen toevoegen of verwijderen. In het verschijnende menu gaat men naar Interne Information Services (IIS) en duid dit aan. Bij de details schakelt men best het onderdeel SMTP uit. De volledige installatie van de IIS lkan men vinden op het internet. Bij XP home is die optie niet voorzien. Echter er bestaan methoden om deze te omzeilen. Er dient ook gekeken te worden op internet voor dit te verwezend lijken, maar vergeet niet het is niet aangeraden en zeker niet normaal. Eens IIS geïnstalleerd kan men zijn eigen computer gebruiken als webserver. Men gaat naar de browser en duid aan: http://localhost. Dit is ook uw adres van de server. Als men in de programma’s gaat bij verkenner zal men daar een onderdeel Inetpub zien. In deze map staan verschillende sub mappen, waarin we ook de map wwwroot vinden. Deze map is de hoofdmap waar uw webserver op steunt. Deze gaan we ook gebruiken, zowel reëel als virtueel om onze website te maken. U kunt dezelfde werkwijze ook bij Windows 2000 toepassen.
1.2.2 Activeren van een scripting programma Alhoewel dit niet noodzakelijk is ben ik wel geneigd gebruik te maken van een scripting programma. Ik opteer voor het programma html kit, warbij men ook een plug-in heeft voor ASP en zelfs voor PHP. We halen die op van het internet en we installeren deze. Nu zijn we klaar om onze passen in ASP te proberen. Eerst gaan we controleren als IIS actief is op onze computer.
5
RD
1.2.3 gebruiken van IIS We gaan via de opdracht Start>Instelling>Configuratiescherm>Systeembeheer>Services kunnen we de beschikbare services controleren.
Hier zien we dat deze services gestart is. Als dit nog niet het geval is kunnen we deze alsnog starten.
1.2.3.1 Aanmaken van een werkmap Aangezien dat ASP pagina’s dynamische webpagina’s zijn moeten zij verwerkt worden in een applicatie server voor we ze kunne bekijken in een browser. Bij het verder verloop van de cursus zullen we oefeningen maken waarin we werken met .ASP pagina’s aanmalen Om deze te groeperen maken we op de schijf een map oefeningen aan. Om deze te bekijken moeten we ze beschikbaar maken via onze webserver ‘localhost’. Selecteer deze map in verkenner en kies Delen en beveiliging. Ga naar de mogelijkheid Delen via de web. En duid de keuze map delen aan
Daarin gaan we de map delen en we krijgen volgend subscherm.
6
RD
we gaan het aanduiden als op de tekening. Dit maakt dat onze map virtueel bestaat. Om te testen gaan we naar onze browser en vullen http://localhost/oefeningen in en drkken op enter.
Bovenstaande tekening zullen we dan krijgen en zo bemerken we dat onze opzet werkt.
7
RD
2. Syntax van ASP 2.1 Alle begin is moeilijk Zoals in de titel vermeldt gaan we nu van start met het maken van onze eerste ASP pagina. We hebben voordien de keuze gemaakt om HTML kit te gebruiken als editor. Deze starten we dus even op.
We bemerken direct een paar nieuwe zaken eigen aan ASP. Een ASP programma heeft begrenzers. <% …%> . Alle commando’s geschreven tussen deze begrenzers zullen door de applicatie server vertaald worden in HTML. We slaan deze pagina op en bewaren deze in onze gemaakte map oefeningen als eerste.asp. Als we nu naar de browser gaan en we plaatsen ion de werkbalk http://localhost/oefeningen/eerste.asp krijgen we onderstaand beeld.
2.2 Opmaak van een ASP bestand <% response.write("
we hebben juist een ASP pagina gemaakt !
met opmaak
") %> De zelfde pagina maar nu gemaakt door gebruik te maken van opmaak in HTML. Dit geeft volgende pagina waarin we zien dat ook in ASP, doordat het omgevormd wordt in HTML we opmaak van Html kunnen gebruiken.
8
RD
2.3 Basis opmaak. Een belangrijk gegeven is dat een ASP bestand alle HTML tags bevat zoals een normaal HTML bestand. Daarnaast bevat het ook begrenzers van een ASP script daar waar we een script in het bestand plaatsen. Om een gepaalde variabele op het scherm te laten verschijnen door middel van een ASP script zal men de syntax Respons.Write(“…….”) gebruiken. De benaming daarvan is twee ledig. Zoals u weet in alle object georiënteerde talen is Write() een aanroep van een methode. In deze methode bevindt zich het object Response. Het punt ertussen bedoeld hier ‘van het’. Dus we kunnen schrijven roep de methode Write van het object Response. Waar we zeker aandacht moeten aan geven is het gebruik van de extensie .asp. Waneer we in een HTML bestand een script plaatsen moeten we zeker de extensie.html of . htm veranderen in .asp. Immers dit geeft aan de server aan dat we gebruik willen maken van de applicatie server om onze script uit te voeren. Zoals u weet is het gebruik van ASP te herleiden in het schrijven van een script. Daarvoor moeten we gebruik maken van een scripttaal zoal er is VBScript of JavaScript. <%@language = "javascript"%> <% Response.Write("dit is een pagina in JavaScript zonder opmaak") %>
Hier ziet men dat de scripting taal niet bepaald is zolang man maar tussen de begrenzers werkt. Het enige verschil tussen beide is dat JavaScript wel case sensitive is en dat men dus moet rekening houden dat in dit geval het belangrijk is van de regels van hoofdletters te volgen. Daarom ben ik voorstander dat men steeds de regels volgt. Dan zal men bij verandering van scripting taal niet voor verassingen komen te staan. Het is mogelijk van ook andere scripting talen zoals Perl en Rexx te gebruiken. Echter moet men dan zien dat de scripting engines geïnstalleerd zijn. JavaScript en VB script echter zijn van ‘huis uit geïnstalleerd’. Fouten die men kan zien in de browser zijn een beetje cryptisch omscherven. Als het niet werkt zal men steeds een boodschap in de trend van “HTTP500 Internel error” zien. Met deze berichtgeving schiet men niet veel op. Daarom zal men voordien zijn browser instellen dat de fouten in “mensentaal” vermeld worden. Daarvoor moet men de browser instellen zoal onderstaand voorbeeld:
9
RD
Deze vind men bij Extra>internet opties>geavanceerd.
2.4 Variabelen en basisstructuren 2.4.1 Tellers Zoals we al tot vervelends toe gezien hebben is de reden van het bestaan van een variabel: het vasthouden van gegevens die men later kan en eventueel zal gebruiken. Voor het gemak zal ik me hoofdzakelijk houden aan het gebruik van VBScript. <% DIM naam naam = "wurgslang" response.Write("een dodelijk dier is: "& naam) %> In bovenstaande code kan men bepaalde zaken opmerken: - Namelijk we maken een variabele naam. Let wel we geven daar geen type aan. Dit omdat in scripting een variabele het type variant heeft. Dit type is volgens de initieel toegewezen waarde. - We gebruiken het ampersant (“&”) teken om de bestaande waarden te koppelen. Immers we werken in VB script, en zoals in VB is het ampersant teken het koppel teken. In JavaScript daarentegen is het “+” teken. - De variabel wordt toegekend met DIM (dimentioning). Als basisstructuren in alle talen hebben we de herhalingsstructuur. Zij het nu als bepaalde herhaling of conditionele herhaling. We gaan hier in eerste instantie de herhaling met vaste teller bekijken.
10
RD
<% DIM soortenKleur(5) soortenKleur(1)= "Rood" soortenKleur(2)= "Blauw" soortenKleur(3)= "Wit" soortenKleur(4)= "Purper" soortenKleur(5)= "Groen" For i = 1 to 5 Response.Write(soortenKleur(i) & "
") Next %>