Issuu on Google+

Ge誰ntegreerde proef

Johno Vandaele Studierichting TSO 6 Informatica en netwerken Schooljaar 2013-2014


Ge誰ntegreerde proef

Johno Vandaele Studierichting TSO 6 Informatica en netwerken Schooljaar 2013-2014


Voorwoord Deze Geïntegreerde Proef heeft als doel leerlingen van het laatste jaar secundair onderwijs te tonen hoe het er in verdere studies aan toe zal gaan. De stage is vooral ook bedoeld om aan te tonen hoe het zal zijn in de IT-wereld en wat voor nieuwigheden je kunt opnemen van andere mensen en collega’s. De GP van het 6 de jaar IT en Netwerken gaat vooral om de voorstelling van de site en de server. Maar dit eindwerk bevat eveneens opdrachten voor andere vakken, zoals voor Nederlands, Engels en bedrijfsbeheer. De opdrachten voor het vak software gaan over de site en vooral om het aantonen van de programmeerstructuren via het Lego Mindstorm robotje. Voor het vak hardware heb ik voornamelijk rond de server gewerkt. Tot slot zou ik graag mijn stagebedrijf Sercu NV bedanken en alle medewerkers. Ik wil de mensen van de ITafdeling, de heren Jeroen De Baene, Phillipe De Wit, Miguel Deforche en Daan Vandamme, bedanken voor de leuke namiddagen en mijn stagementor de heer Koen (familienaam?) om mij toestemming te geven om in Sercu stage te mogen lopen. Ook wil ik de heren Wim en Dirk Sercu, mevrouw Katelijn Tuytten en de heer Francis Latré bedanken om mij te begeleiden met bepaalde opdrachten die ik kreeg tijdens mijn stage. Ik wil mevrouw Verhaegen, mevrouw Libbrecht, mevrouw Werckbrouck, meneer Depuydt, meneer Vandamme, mevrouw Leuridan en meneer Santens bedanken om deze GP mogelijk te maken voor het 6 de jaar.


Geintegreerde proef

6


1

Opdracht GP bdbh

1.1 De aard van de activiteiten Ze hebben 3 grote afdelingen. Een afdeling printers, een afdeling IT en een afdeling Verkoop en administratie. In de afdeling printers worden alle printer die binnenkomen bij Sercu hersteld. Patrick the persoon in kwestie voor het repareren werkt geheel op zijn eigen. Hij werkt helemaal vanachteren in de winkel in het atelier. Als er grote nieuwe printer wordt geplaatst komt hij meestal mee om het in goede banen te leiden. Hij configureert dan de printer en neemt dan de oude mee als er één stond. Verder test hij ook de werking van de printers die hij geïnstalleerd heeft. Dit was vroeger op een oude test machine waar er wel 100 drivers op stonden. Nu laat hij een testpagina afdrukken met de printer zelf zonder een computer er bij nodig te hebben. Dan hebben we de IT afdeling waar Koen de grote baas is. Hij doet het meeste van de administratieve kant van de IT maar gaat ook soms langs bij klanten om te helpen. De IT afdeling hun voornaamste taak is het helpen van klanten via remote helpdesk. Dit wordt in gang gezet als de klant belt. De klant belt met een probleem en vraagt of er mogelijkheid is om te helpen. Als ze het probleem kunnen oplossen over de telefoon doen ze dat. Maar als het probleem wat gecompliceerder is dan gebruiken ze het programma teamviewer of Netviewer. Ze vragen aan de klant of ze naar hun helpdesk zouden willen gaan op hun site. Daar moeten ze dan kiezen welk programma ze willen en dan de code die verschijnt op het scherm doorgeven aan de persoon aan de telefoon. Dan zullen zij de pc met gemak overnemen en het probleem oplossen. Als dit niet lukt of er zijn nog altijd fouten is er een mogelijkheid om een afspraak te maken. Dit wordt dan zo snel mogelijk gemaakt en komt er iemand van de IT afdeling bij hen thuis het probleem op te lossen. Dan hebben ze ook hun herstel dienst. Dit gaat als volgt. Een persoon brengt een pc binnen met een probleem. Ze proberen het toestel binnen de dag te vermaken en proberen het de volgende dag terug mee te geven met de klant. Dit bestaat uit verschillende procedures. Als men informatie of iets belangrijk tekort heeft om de reparatie te kunnen voltooien dan belt men naar de klant. Als er iets gebeurt waardoor de pc langer dan 2 dagen of er een mogelijke kans is op data verlies dan belt men ook de klant. Is het onherstelbaar dan belt men direct naar de klant zodat ze geen extra kosten moeten betalen voor het verblijf van de computer. Ze hebben ook een paar firma’s waar ze het computerpark beheren. Voorbeelden zoals supermarkten, advocaten, notarisbureaus, enz. Hierbij doen ze het ontwerp, de installatie en het onderhoud van hun computerpark. Bij het onderhoud hoort de beveiliging van het computerpark, de internettoegang, de rechten, enz. Dan is de afdeling Verkoop en administratie. Ze hebben heel veel verschillende producten. Ze hebben printers waaronder de merken Kyocera, Oki, Brother en Fujitsu. Ze verkopen ook de toners voor die printers. Ze verkopen ook tassen waaronder de merken Alassio, Laurige en Pride & Soul. Ze verkopen ook alle Kantoorbenodigdheden zoals stoelen, papier, schriften, pennen en ook nog andere meubilair. Ze verkopen ook versnipperaard van IDEAL en lamineer en bind apparaten van GBC. Hun verkoop bevat ook Kasregisters van Casio. Het assortiment van Computers is beperkt tot V-Force, I-Pro, Hp en Lenovo. De verkoop van randapparatuur zoals schermen, muizen, toetsenborden, enz. is heel uitgebreid. Hun partner voor de verkoop van randapparatuur zijn ADJ, EATON, Eminent, Ewent, Kingston, Logitech, Msi, Seagate, Western Digital, BenQ en Synology. Hun netwerk apparatuur dat ze verkopen is gelimiteerd in merken zoals D-link, TP-link, Watchguard, Meraki, Firebox en ook Synology. De Boekhoudsoftware die ze verkopen zijn Exact Cubic Pro, Exact Proacc en Exact Online. De andere software is Nuance Speech wat een Beeld-, spraak- en taaltoepassing is. Het andere de Mailmarshal van M86 Security. Ze hebben ook een assortiment van Tijdsregistratie. Met merken zoals Vemichron, One two time, One two Work, Acroprint en Igsus. Dan het laatste in hun assortiment is de toegangs- en videocontrole. De merken hiervan

Geintegreerde proef

7


zijn Impro, Qnap, Sony en Vivotek. Alle verkoop van computers en computertoebehoren is voor de IT afdeling. De rest van de Verkoop wordt gedaan door de afdeling verkoop. Het meubilair voor Francis de verantwoordelijke voor het meubilair en Martine voor de verkoop van de boekhoudprogramma’s. Het assortiment is voor een deel beschikbaar in de winkel zelf met op de gelijksvloer. Dit is waar alle benodigdheden voor de computer en de tassen zich bevinden. Terwijl het materiaal voor het kantoor zoals de stoelen en ander meubilair te vinden is op de 1 de verdieping. Hun gehelen assortiment is in ieder geval beschikbaar op hun site en het meubilair op de Calipage site.

1.2 Situering en historiek Over de historiek werd er niet veel gezegd. Ik heb nog proberen te communiceren met Koen maar ik kreeg geen antwoord. Maar

wat ik weet is dat de winkel nog in de noordstraat gevestigd was. Toen in 1968 hebben ze zich verplaatst naar de burgsesteenweg in het Mammoet center. Dit was denk ik voor betere toegankelijkheid van klanten die grote dingen moeten komen ophalen en leveranciers die iets moeten afzetten. Ik denk dat het ook was voor een grotere opslag ruimte. Voor 1986 verkochten ze alleen maar mechanische en electro-mechanische bureautoestellen. En voor de rest was het hun meubilair zoals bureau’s en stoelen. Na 1986 begonnen ze met de verkoop van de eerste personal computers en later werd dit dan ook groter tot het punt nu dat ze ook voor andere bedrijven hun netwerk installeren en beheren.

1.3 Ondernemingsvorm Hun ondernemingsvorm is NV. Dit was beslist door Koen, Win en Dirk die het bedrijf werd toegekend door hun vader. Dit vonden ze de beste keuze voor iedereen zodat ze elk een deel van de aandelen hebben en voor de fiscale voordelen. De voordelen van een NV zijn :

• •

Alle vennoten zijn beperkt aansprakelijk

Er kunnen winstbewijzen worden uitgegeven.

Aandelen zijn in principe vrij overdraagbaar.

Geintegreerde proef

8


1.4 Kengetallen Hun klanten zijn heel gevarieerd van advocaten tot ziekenhuizen. De meeste zijn gelegen zich in WestVlaanderen maar ze hebben er ook een paar buiten WestVlaanderen zoals in Antwerpen. Hun afzetgebied is in de winkel en op het internet. Ze hebben 12 werknemers die iedere week komen werken op met elk hun aparte dagen dat ze vrij hebben. De 12 werknemers worden bestuurd door 3 leiders die Koen, Win en Dirk. Ze hebben arbeiders en bedienden in de onderneming zitten. Ze hebben ook een kuisploeg die iedere week komt om het bedrijf te kuisen.

1.5 Organogram

Geintegreerde proef

9


2

StageActiviteiten

2.1 A report about 3 different challenges you faced during your traineeship What was the challenge? The first challenge was on the second day of my traineeship. It was to activate windows over the phone. What did you do to meet the challenge? They said I would not get it right the first time I tried it and they were right. The first couple tries they said the code was incorrect but then I asked one off my colleagues to check the code for me. It turned out to be the code that was wrong and not me. After I tried a new code it worked. You first need to type in 9 groups of 6 numbers then when you entered it they will give you 9 groups of 6 numbers. Did you meet the challenge? Yes, it was an interesting challenge. It was a giant hassle when they said the numbers over the phone because it was quick. What was the challenge? After we had a problem with a test computer I had to reinstall it. The operating system was Windows Xp What did you do to meet the challenge? I reinstalled the operating system. And after I installed the drivers and rebooted the pc would not work anymore. My colleague looked at it and said the motherboard was fried. Did you meet the challenge? I did meet the initial challenge but the motherboard got fried. So I kind of met my challenge. What was the challenge? Repair a computer where you could not login. It was a laptop. What did you do to meet the challenge? I had a guide from internet to repair it so it was fairly easy. I had to restart the computer in safe mode and change some stuff in the registry through regedit. Did you meet the challenge? Yes I it was fairly easy because of the guide. I had to do it several times.

Geintegreerde proef

10


2.2 Design and develop a promotional brochure for the company you work with Zie bijlage

Geintegreerde proef

11


2.3 Bedrijfseconomie toepassing: ondernemingsplan 2.4 Financieel plan Dit is mijn Financieel plan. Ik heb een link met mijn stage bedrijf. Het eerste deel is mijn Balans en Resultatenrekening. Hierin komen al mijn uitgaven en opbrengsten in voor. 2.4.1 Balans Balans INVESTERINGSPLAN

FINANCIERINGSPLAN

Vaste activa

€ 9.026,34

Eigen Middelen

Kantoormeubilair Kantoormachines Waarborgen

€ 2.056,34 € 2.470,00 € 4.500,00

Inbreng kapitaal Inbreng in natura

€ 12.200,00 € 6.200,00 € 6.000,00

Vlottende activa

€ 66.012,26

Vreemd Vermogen Lange Termijn

€ 74.995,82

Klantenvorderingen Voorraad

€ 29.942,47 € 36.069,80

Starteo Lening bank

€ 40.000,00 € 34.995,82

Liquide middelen

€ 17.161,40

Vreemd Vermogen Korte Termijn

€ 5.004,18

Bank

€ 17.161,40

Schulden vervallen binnen jaar

€ 5.004,18

TOTAAL INVESTERINGEN

€ 92.200,00

TOTAAL FINANCIERING

€ 92.200,00

2.4.2 Resultatenrekening

Geintegreerde proef

12


Rentabiliteitsvooruitzichten

Jaar 1

verwachte verkopen

€ 364.300,00

verwachte aankopen

€ 82.000,00

brutobedrijfswinst

€ 282.300,00

bedrijfskosten: Huur Water, gas, electriciteit, verwarming Kosten voertuig (verzekeringen, taksen, brandstof, herstellingen) Bureaukosten, onderhoud materieel, telefoon, portokosten Reclamekosten (cfr. Marketingplan) Bezoldiging bestuurders Verzekeringen, brand, B.A. Sociale verzekeringen zelfstandige Afschrijvingen Andere diverse kosten Totaal bedrijfskosten

€ 18.000,00 € 1.200,00 € 2.000,00 € 1.000,00 € 1.500,00 € 75.000,00 € 500,00 € 16.500,00 € 2.434,60 € 0,00 € 118.134,60

Netto-bedrijfswinst Financiële lasten, intresten op leningen

€ 164.165,40 € 2.825,10

Belastbaar resultaat Belastingen Winst van het boekjaar

€ 161.340,30 € 54.855,70 € 106.484,60

Geintegreerde proef

13


2.5 Marketinganalyse Dit is mijn marketingplan en hierbij zal ik de 4 P’s bespreken over mijn bedrijf. De 4 P’s die ik zal beschrijven zijn Product, Plaats, Promotie en Prijs. Het marketingplan gaat over mijn stage bedrijf Sercu waarbij ik in de schoenen sta van het oprichten van het bedrijf. 2.5.1 Product In de winkel en de web shop verkoop ik hardware en software die nodig is voor particulieren en bedrijven. Als dienst heb ik een hersteldienst waarbij men hun pc kan binnen brengen met de nodige informatie. Die wordt dan hersteld en geoptimaliseerd zodat de gebruiker die zonder problemen terug mee kan nemen naar huis. De tijd die nodig zal zijn om de pc te herstellen te optimaliseren zal een marge hebben van 1 dag. Als de pc na die tijd nog niet zal hersteld zijn gaat de klant een melding krijgen via email en telefoon dat de pc iets langer zal moeten blijven dan verwacht. Ook zal de klant kunnen beslissen of dit wel nodig zou zijn voor de pc in kwestie als de pc een paar jaar oud is en als de herstelkosten meer zouden zijn dan een nieuwe te kopen. De andere dienst is de online hulpdienst waarbij mensen bellen en vragen voor externe hulp. De klant zal proberen het probleem op te lossen aan de telefoon als dit niet lukt dan zullen ze vragen aan de klant om via de website het programma op te starten om de pc over te nemen. Als men aan de telefoon wilt blijven voor verdere info is dit natuurlijk mogelijk maar zal de klant extra moeten betalen. 2.5.2 Plaats Het pand die ik zal gebruiken gaat heel groot zijn om de nodige producten te kunnen plaatsen in de winkel en het magazijn. De plaats zou ook best bij een niet te drukke straat liggen. Er zou ook moeten voorzien zijn van voldoende parking. Er zou ook voldoende parking moeten voorzien zijn. De web shop zal 2 optie hebben. Een lever optie waarbij het pakket word opgezonden en dat de klant de bijkomende leverkosten zal moeten betalen. Maar het zou ook de optie krijgen om afgehaald te worden bij de winkel. Hierbij word het product bijgehouden voor een aantal dagen en als de klant er niet achter komt of niets laat weten zal het product niet meer verkrijgbaar zijn voor de klant en zal het product terug in de winkel of magazijn worden gelegd voor verkoop. 2.5.3 Promotie Ik zou mijn site promoten op andere sites via advertisement. Dan voor de rest zou ik in het begin flyers uitdelen met de specialisatie van de zaak en de plaats. Voor de rest zou ik advertenties plaatsen in de krant of tijdschriften zoals PC magazine. De kostprijs hiervan zal beslissen welke vorm van promotie ik zal gebruiken. Bij uitbreiding van de zaak zal de promotie ook worden aangepast zodat het een grotere doelgroep aanspreekt en die een grotere oppervlakte aanspreekt. Ik zou beginnen met promotie in West-Vlaanderen en dan de markt uitbreiden naar Vlaanderen. Om gegevens te verzamelen zou ik een poll doen op mijn website welke producten er zouden in het assortiment zitten en hoeveel ze er zouden voor betalen. 2.5.4 Prijs Ik zou de Premium pricing strategie gebruiken. Dit wil zeggen dat ik een iets hogere prijs zal nemen dan mijn concurrenten maar daarbij zou er dan wel een jaar gratis garantie zijn met bepaalde voorwaarden. Ook zal de consument denken dat de kwaliteit iets hoger zal liggen dan Geintegreerde proef

14


dat van een concurrent. De prijs van de hersteldienst zal worden bepaald door hoelang de werknemer er voor heeft moeten werken en welk materiaal hij gebruikt heeft plus een vaste winstmarge. De online hulpdienst zal worden bepaald hoelang het telefoon gesprek duurt plus hoelang de werknemers aan het probleem heeft gewerkt tot het opgelost is plus de vaste winstmarge.

Geintegreerde proef

15


3

Informatica in het stagebedrijf

3.1 Hardware en software To start off they have about 23 computers most of them have duals screen for a better working environment. 12 of their pcs are I-Pro with mini atx form factor. Then they have 6 hp pcs also with mini atx form factor and 3 laptops of hp. Then finally 2 q-force pcs with atx form factor. They have about 16 BenQ screen, 4 Phillips screens, 1 acer screens, 7 Samsuns screens and 1 Iiyama screen. They have a Sagem modem with a firebox watchguard attached to it. There are 2 switches attached to the firebox. They have 3 switches attached to the other ones 1 for the first floor and 1 for ground floor. They have 5 Kyocera printers 3 on the ground floor and 2 on the first floor. One of the printers on the ground floor is in the back of the store were the workplace is for the printers. They also have a sinology NAS and a QNAP Viosas video storage unit. There are 3 brother printers on the ground floor and 3 on the first floor. They also have 2 Elo Thouchsystems. Most of them use Internet Explorer, Mozilla Firefox or Google Chrome. Their main program is Teamviewer which is used for a remote control to help customers. If they need new hardware they just ask for it. There are no contracts for the hardware. They all maintain their own hardware they use. The license model they use is Microsoft Action Pack. The company does use measuring software. They use Exact Globe ERP. This software has ben modified with their own modules. For example requesting a customer’s history, adjusting prices of articles, etc.

3.2 Netwerk structuren Er zijn maar een paar protocollen in gebruik zoals SMPT, http, FTP, enz. Er wordt geen Pop3 gebruikt want alles staat op hun eigen mailserver waar ze ieder apart aankunnen. De verbinding met de buitenwereld is nu via Telenet vroeger was het via een Belgacom maar sinds kort zijn ze overgestapt. De werknemers kunnen niet op alle sites. De meeste sites zoals nieuws sites en

sociaal media sites zijn uitgeschakeld met een melding als tijd verdoe. Dit is via een Webmarshal web proxy aan banden gelegd. Dit programma is een programma dat draait in hun servers en kan aangepast worden door de IT werknemers. Dit is ook beveiligd met een wachtwoord. Ja, er is verbinding van buitenaf. Ze kunnen via een VPN hun eigen intern netwerk. Toegang op shares. Geintegreerde proef

16


Ook kunnen ze via RDP toegang op de terminal server. Er is ook Outlook synchronisatie via Active synchronisatie voor IPad, Android, enz. En dan ook nog Blackberry synchronisatie met behulp van BlackBerry Enterprise server Express. Er is wel geen intranet aan de pas.

3.3 Opleiding en helpdesk Nieuwe werknemers moeten de informatica toepassingen die ze gebruiken met Trial and Error leren. Als er vragen zijn mogen ze deze stellen aan de collega’s die op het moment aanwezig zijn. Het eerste programma waar ik mee moest werken was combofix.exe. Ik moest het van het internet halen en er was maar 1 goede site voor. Die had ik snel gevonden want het was de tweede link die het betrouwbaarste was. De werknemers die met nieuwe toepassingen moeten werken leren dit ook via Trial and Error. Ik heb wel 1 van de werknemers een online cursus zien volgen om een soort nieuwsblad te maken voor hun bedrijf met een speciaal programma. Als er problemen zijn wordt dit gemeld aan de IT dienst die dan zijn tijd investeert om het probleem zo snel mogelijk te vermaken. Als het internet niet werkt kunnen ze jammer genoeg niet veel doen. Het scherm overnemen is natuurlijk moeilijk zonder internet. Ook mogen de werknemers als er problemen zijn met hun eigen computer thuis dit ook ingeven voor reparatie. Het is natuurlijk wel voor een prijs.

3.4 Beveiliging van het systeem Tegen inbraak, Malware, virussen, … gebruiken ze McAfee Virussenscan Enterprise. Ze gebruiken natuurlijk de betalende versie omdat dit een stuk beter is dan de Free versie. De mailmarshal Antispam wat een programma is die ervoor zorgt dat de meeste spam zoals porno, viagra, virussen, valse aanbiedingen,… er niet door raakt om van hun mailserver te raken. Dit is ook een programma dat werkt op de server. Het kan terug aangepast worden door de IT dienst met een speciaal wachtwoord. Dan hebben ze nog de Webmarshal webproxy en de Watchguard Firewall. De watchguard firewall is een firewall tussen de modem en de routers en switches. In de web interface van de Watchguard kunnen ze zelf regeltjes aanmaken van wat erdoor mag en wat er buiten mag. Op de watchguard zitten 5 Poorten. Bij de Poorten kan je zelf beslissen wat zijn nut is. Of het nu naar een switch of router gaat of naar de buitenwereld. Sercu zelf gebruikt de eerste poort als poort naar de buitenwereld. In hun bedrijf en in andere waar ze het hebben geconfigureerd. Er is geen policy over hun wachtwoorden.

3.5 Bedenkingen Het is een groot netwerk met goede beperkingen. Op het testnetwerk kan je alles doen wat je maar wil. Maar dit is ook nodig want op dat netwerk worden alle computers getest. De beste manier om te weten of je computer snel genoeg draait is om op een nieuws website eens ronde te surfen omdat dit de meeste foto’s moet laden. Als dit snel genoeg ging was hij meestal goed in orde en opgeruimd van malware en virussen. Wat ik wel raar vind is hun public draadloos netwerk. Het heeft geen wachtwoord nodig maar vanaf je op het internet zit moet je wel eerst bevestiging geven dat ze wil surfen met Public Sercu. Ook staan een paar servers gevisualiseerd wat wel minder plaats in neemt. Ze hebben 2 kasten. De eerste kast is op de gelijksvloer waar de

Geintegreerde proef

17


switchen, de firewall en de modem inzitten. Op het eerste verdiep zit de kast met al de servers. Zelf zou ik er niet veel aan veranderen behalve het public draadloos netwerk

Geintegreerde proef

18


4

Opzetten van een webserver in verschillende stappen

4.1 Documentatie collega’s systeembeheerders

Inleiding Voorwoord Dit is een handleiding voor mijn webserver dat ik heb geconfigureerd. Het basis principe hier is dat ik een handleiding schrijf waarbij men gemakkelijk de stappen kan volgen die ik nam en ze ook begrijpt waarom ik ze nam. Dit is een basis webserver die alleen maar asp.net pagina’s aan kan. Een upgrade naar PHP gaat er waarschijnlijk niet inzitten maar het is een mogelijkheid. Voor dit project nemen we de Windows 2008 server R2 standard versie. Dit is genoeg om alles te kunnen draaien wat we nodig hebben.

Na Installatie Windows Server De server is nu klaar om aan gewerkt te worden maar er zijn nog een paar , dat moet ingesteld worden voor dat de server volledig operationeel kan zijn. Na de installatie van de server moet je al een wachtwoord ingeven. Maak zeker dat het een goed beveiligd wachtwoord is.

Computer Instellingen Datum en tijd Instellingen Om de Datum en tijd instellingen aan te passen ga je naar de klok rechts beneden op het bureaublad. Je klikt 1 keer op en knop en kiest voor Instellingen voor datum en tijd. Je kan zelf de tijd aanpassen bij het tabblad Datum en tijd. Je kan de tijdzone ook wijzigen in dit tabblad. Je kan ook via het internet de tijd laten juist zetten als je een internetverbinding hebt. Ik heb dit door het internet laten doen. Computernaam Dit doe je door naar start te gaan rechtermuisklik op Computer en dan bij het onderdeel Instellingen voor computernaam, domein en werkgroep ga je naar Instellingen wijzigen. Bij de naar het je op de knop Computernaam naam maar

Systeemeigenschappen ga je tabblad computernaam en klik Wijzigen. Daar kan je de aanpassen en ook het domein omdat we nog geen domein hebben is dit niet relevant.

Ik heb de server GpJohno genoemd voor persoonlijke voorkeur. Nadat je dit hebt ingesteld herstart je de Server.

Geintegreerde proef

19


Partities Om de gebruiker een Site te laten hosten moet hij daarvoor ruimte hebben op de Server. Om te zorgen dat er geen conflict is met het besturingssysteem is er beter voorzien van een extra partitie voor de data. Om voldoende ruimte te hebben voor alle data die meerdere gebruikers op de server willen plaatsen heb ik een schijf van 20 GB er bij gestoken. Dit moet eerst nog toegevoegd worden aan de server via Schijfbeheer. Je maakt gewoon een nieuwe partitie aan met de drive letter E. En geef het de naam Data. Hierin maak je een map Genaamd FTP en daarin maak je een map genaamd LocalUser. In die map maak je ook nog een map aan voor de SQL management tools. IP adressen Je moet alle IP adressen instellen zodat je Server in je netwerk zit. En maakt da de dns server 127.0.0.1 is dat hij naar zichzelf verwijst omdat je er een DNS server gaat aan toevoegen.

Installatie DNS server Installatie Om je server een DNS te installeren op je Windows Serverbeheer, dan naar ga je naar functies en dan functies toe te voegen. Je volgt de wizard tot het zorgt ervoor dat de DNS-server geen doorstuurservers heeft zodat hij alles zelf doet.

Server ga je naar kan je daar einde. Je

Webserver IIS Installatie Je gaat terug naar serverbeheer en je gaat terug functie toevoegen. Deze keer de Webserver ISS. Bij moet je beslissen wat je wilt toevoegen van moet zeker ASP toevoegen en de andere functionaliteiten die er bij moeten komen om ASP draaien. Zorg er ook voor dat je de FTP er ook bij neemt. Na het installeren van de webserver staat er standaard een default page. Die doe je weg.

een nieuwe de installatie functionaliteiten je te kunnen

Framework 4.5 Omdat je al gebruikers de mogelijkheid wil geven om asp.net te kunnen gebruiker moet je ook zeker zijn dat ze hun site kunnen draaien op je server. Als ze een framework gebruiken van 3.0 of 2.0 moet je dit kunnen ondersteunen. Daarom installeer je best het laatste framework. Dit is in dit geval 4.5.

Configuratie Nu ga je de defaultappPool aanpassen zodat hij het 4.0 framework ondersteunt en al de voorgaande. Dit doe je door naar de iis webserver te gaan.

Geintegreerde proef

20


Dan ga je naar Toepassingsgroepen en verwijder je al de toepassinggroepen behalve de defaultappPool. Om dan het framework aan te passen rechtermuisklik je op de groep en ga je naar basis instellingen. Het .net framework moet staan op de 4.0 en de beheerde pipeline modus moet op geintegreerd staan.

FTP Installatie De FTP site zit bij de iis webserver. Om die toe te voegen ga je naar de iis webserver en rechtermuisklik je op sites en klik je op FTP server toevoegen. Je noemt de site FTP en het fysiek pad gaat naar de map LocalUser. Je zorgt ervoor dat je binding is met je IP van je server zodat hij een IP heeft. En je zet SSL op Geen. Het volgen scherm is voor de authorisatie en die zet je net zoals de screenshot. En dan is de installatie klaar.

Configuratie Het enige dat je moet instellen voor de FTP is de Gebruikers isolatie. Je gaat hier naar toe door op de FTP site te klikken en op het icoon van de gebruikers isolatie te drukken.

SQL Installatie Nu is de tijd om de SQL server te installeren. Hiervoor nemen we de Sequel server express 2008 r2 with management tools. Je moet niet veel aanpassen behalve dat hij als authenticatie de mixed mode moet gebruiken. Een andere naam geven aan de server is niet nodig dus zal het de standaard naam hebben van SQLExpress.

Configuratie

Dan moet je nog een paar instellingen doen zodat de gebruiker aan de server kan. Je gaat naar start en typt in het zoek vak SQL server configuration manager. In de configuration manager vind je bij services de SQL server browser. Dit moet je activeren door er rechtermuisklik op te doen naar eigenschappen gaan en dan naar het tweede tablad service gaan en dan startmode op automatic zetten. Dan om de service te activeren moet je er terug op rechtermuisklikken en dan op start klikken. Dan ga je naar de SQL server netwok configuration in het linker navigatie venster. Daar krijg je de optie om te kijken naar de protocols voor je server. Dan zet je TCP/IP aan om dat ervoor zorgt dat je gebruiker aan de server kan. Om dit volledig af te ronden moet je de server nog eens herstarten. Dit die je terug bij de SQL server services en ga je naar de SQL

Geintegreerde proef

21


server en rechtermuisklik je erop en klik je op herstarten. Nu is de SQL server volledig in orde om gebruikt te worden.

NTFS rechten De NTFS rechten moeten ingesteld worden op de man E:, E\FTP en E\FTP\Localuser. Voor de mappen FTP en LocalUser moet je de overerving aanlaten zodat ze alle rechten kunnen krijgen die je hebt ingesteld op de E. De screenshit hiernaast toon al de rechten die moet instellen.

De gebruiker Account Je maakt een account aan in Microsoft. Hierbij wordt ingesteld wat de gebruiker wilt van gebruikersnaam en wachtwoord. Dit is ook direct de inlog van de FTP en SQL.

FTP Je maakt een map aan in de map Localuser met als naam hetgene van de gebruiker. Daarin maak je 3 nieuwe mappen aan genaamd Sites, Logs en back-up.

Geintegreerde proef

22


NTFS rechten

Dit zijn de NTFS rechten voor de map van een gebruiker genaamd Johno. Vergeet niet de overerving uit te schakelen. Deze NTFS rechten zijn ook nodig voor alle onderliggende mappen dus moet je zeker zijn dat bij de 3 onderliggende mappen er wel overerving is.

SQL Je maakt een nieuwe database aan die de naam krijgt van de gebruiker. Je zorgt ervoor dat de gebruiker een account heeft op de SQL server met als inlog gegevens degene van het account. Je zorgt er ook voor dat de default database degene is die je juist hebt aangemaakt en kijkt dat hij alle rechten heeft op die databank behalve de deny rechten.

Sites Site aanmaken Om een site aan te maken ga je naar de iis webserver en ga je naar sites. Je rechtermuisklikt op sites en voegt een nieuwe site toe. Het fysieke pad is de map die in de map sites staat van de gebruiker. De naam van de site is de naam van de map. En je steekt het in de groep DefaultAppPool. De binding is natuurlijk op het IP van de server. De host naam zal www.<naamvandemap>.be. DNS In de dns zal je een nieuwe zone moeten toevoegen genaamd <naamvandemap>.be. In die zone zal je een nieuw A record moeten aanmaken zodat hij er naar kan surfen. Het A record noemt www en het ip is dat van de je server.

Geintegreerde proef

23


5

Documentatie eindegebruiker

Zie Bijlagen

Geintegreerde proef

24


6

Een informaticatoepassing uitwerken

6.1 Probleemstelling We kregen een opdracht om een web applicatie te maken in asp.net. Ik heb voor een forum gekozen. Hierbij heb ik HTML, CSS en ASP.NET gebruikt om tot een eindresultaat te komen.

6.2 Analyse, Structuur en opbouw Mijn site bestaat uit 16 pagina’s opgedeeld in 2 delen. Een statisch deel en een dynamisch deel. Er zijn maar 2 sites waar er geen dynamische objecten zijn. •

Contact.aspx: hierbij zijn de contactgegevens van de site.

About.aspx: Deze site gaat over het ontstaan van de site en het ontstaan van de naam

Het dynamisch deel bestaat ook uit 2 delen. Het eerste deel bestaat uit alles wat met de gebruiker te maken heeft zoals het aanmaken van een nieuwe gebruiker. Het tweede deel bestaat uit het forum. •

Login.aspx: hierbij kan men inloggen als men een account heeft. De link naar de registratiepagina

Account.aspx: Hier kan men die ingelogd heeft alles van zijn account aanpassen.

Forum.aspx: Hier komen al de forums die zijn aangemaakt zijn.

Threads.aspx: Als men een forum heeft gekozen kan men hier een thread bekijken of een nieuw thread aanmaken in het forum.

Comments.aspx: Hier kan men de comments bekijken van de geselecteerde thread en nieuwe plaatsen.

Dit is mijn div-structuur.

Geintegreerde proef

25


6.3 Documentatie project 6.3.1 Header Screenshot Besturingselementen

Object

Eigenschap

Waarde

litLogin

Text

Code behind

Page.load Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Session("Login") = False Then Session("Login") = False litLogin.Text = "<a href=""Login.aspx"">Login</a>" Else If Session("Login") = True Then LitLogin.Text = "<a href=""Account.aspx"">Account</a>" End If End If End Sub Hier wordt bepaald als men ingelogd heeft of niet om dan de juiste pagina te tonen om naar toe te gaan. Als men niet ingelogd dan ziet login.aspx. Als men heeft ingelogd ziet men Account.aspx. Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Session("Login") = False Then Session("Login") = False litLogin.Text = "<a href=""Login.aspx"">Login</a>" Response.Redirect("Login.aspx") Else If Session("Login") = True Then Session("Login") = True litLogin.Text = "<a href=""Account.aspx"">Account</a>" End If End If End Sub

Geintegreerde proef

26


Dit is de load voor iedere pagina die men niet kan zien als ze niet ingelogd hebben. Ze worden dan direct naar Login.aspx gestuurd. 6.3.2 Footer Screenshot

Geen speciale objecten in de footer. Maar wel een link naar about.aspx en een verwijzing naar de de bovenkant van de pagina. 6.3.3 Index.aspx Screenshot

Dit is de home pagina. Er zitten geen speciale objecten in. Maar dit kan nog veranderen. 6.3.4 Login.aspx Screenshot

Besturingselementen Object

Eigenschap

Waarde

btnLogin

Text

Log in

litMelding

Text

Code behind

rfvUser

ControlToValidate

txtUser

txtUser txtPass

Geintegreerde proef

27


rfvPass

ControlToValidate

txtPass

Deze pagina is de bedoeld om de gebruiker in te loggen. Litmelding krijgt een waarde als men de verkeerde gegevens invult. Er is ook een link naar de registreer pagina. 6.3.5 Registreer.aspx Screenshot

Besturingselementen Object

Eigenschap

Waarde

btnregistreer

Text

Register

litMelding

Text

Code behind

rfvUser

ControlToValidate

txtUser

rfvPass

ControlToValidate

txtPass

rfvEmail

ControlToValidate

txtEmail

cpvRepeat

ControlToValidate

txtPassword

ControlToCompare

txtReapeat

txtUsername txtPassword txtRepeat txtEmail

Bij register.aspx is het de bedoeling dat als men op de knop drukt dat er een account word aangemaakt in de databank. Hierbij wordt er ook bekeken dat de username of het e-mailadres al

Geintegreerde proef

28


dan niet al in gebruik is. Er zou normaal ook nog een e-mail worden gestuurd naar het email om dan het account te activeren. Maar dit zit er nog niet in. 6.3.6 Account.aspx Screenshot

Besturingselementen Object

Eigenschap

Waarde

lblusername

Text

Code behind

lblPass

Text

Code behind

lblEmail

Text

Code behind

imgPicture

Imageurl

Code behind

Hier kan men de gegevens zien van hun account. Ieder stuk heeft een verander optie behalve het email. Iedere verander link brengt je naar juiste paginaâ&#x20AC;&#x2122;s om de gegevens aan te passen. Zoals de bij de image brengt de link je naar een pagina met een file upload. De logout link heeft ook een event. 6.3.7 Forum.aspx Screenshot

Besturingselementen Object

Geintegreerde proef

Eigenschap

Waarde

29


gvForum

sqlForum

Autoformat

Black & blue 1

EnablePaging

True

EnableSelection

True

SelectQuery

SELECT tblForum.Title, tblForum.Description, COUNT(tblThreads.ThreadID) AS Topics FROM tblForum INNER JOIN tblThreads ON tblForum.ForumID = tblThreads.ForumID GROUP BY tblForum.Description, tblForum.Title

Dit is de pagina waar de aangemaakte forum staan. Dit is een gridview geplaatst. Om door te gaan naar de threads moet je een forum selecteren. 6.3.8 Threads.aspx Screenshot

Besturingselementen Object

Eigenschap

Waarde

gvThreads

Autoformat

Black & blue 1

EnablePaging

True

EnableSelection

True

SelectQuery

SELECT tblThreads.Title, tblThreads.[Content], tblThreads.CreationDate, tblUser.Username, tblThreads. [Content] AS Expr1 FROM tblThreads INNER JOIN tblUser ON tblThreads.UserID =

sqlThreads

Geintegreerde proef

30


tblUser.UserID INNER JOIN tblForum ON tblThreads.ForumID = tblForum.ForumID WHERE (tblForum.Title = @Forumname) btnNewThread

Text

New Thread

Hier worden de thread getoond van het geselecteerd forum. Er is ook een knop om een nieuwe thread te maken. Dit kan wel alleen maar als men ingelogd heeft. 6.3.9 Comments.aspx Screenshot

Besturingselementen Object

Eigenschap

Waarde

gvThreads

Autoformat

Black & blue 1

sqlForum

SelectQuery

SELECT tblThreads.[Content], tblUser.Username FROM tblThreads INNER JOIN tblUser ON tblThreads.UserID = tblUser.UserID WHERE (tblThreads.ThreadID = @ID)

gvComments

Autoformat

Black & blue 1

sqlComments

SelectQuery

SELECT tblComment.[Content], tblUser.Username FROM tblComment INNER JOIN tblThreads ON tblComment.ThreadID = tblThreads.ThreadID INNER JOIN tblUser ON tblComment.UserID = tblUser.UserID WHERE (tblThreads.ThreadID = @ID)

btnComments

Text

New Comment

Geintegreerde proef

31


Hier wordt de thread nog eens herhaald en worden alles comments er bij geplaatst. Als men ingelogd heeft kunnen ze er ook nieuwe comments bij plaatsen.

6.4 Bronvermelding gebruikte sites Ik heb www.google.com gebruikt om bepaalde info en code op te zoeken zoals de code om een email te sturen.

6.5 Statische website fictief bedrijf 6.5.1 About.aspx

Er is nog geen tekst aan toegevoegd. 6.5.2 Contact.aspx

Geintegreerde proef

32


6.6 Erd en Codd databank fictief bedrijf

Geintegreerde proef

33


6.7 Databaseschema databank fictief bedrijf

6.8 Code website 6.8.1 Css

div {position:relative; width:1000px; text-align:center; } body {background-color:white;"..Afbeeldingen\HD-Fantasy-Wallpapers-For-Desktop4.jpg"; } #Container { margin:0 auto; border-right:5px solid; border-top:5px solid; border-left:5px solid; border-bottom:5px solid; border-top-right-radius:25px; border-top-left-radius:25px; border-bottom-left-radius:25px; border-bottom-right-radius:25px; border-color:#090974; } #header { } #banner { height:170px; border-bottom:1px;

Geintegreerde proef

34


margin:auto; text-align:center; } #banner h1 { display: inline-block; margin:0px;font-size:60px; margin-top:50px; color:green; } #banner img {width:100px; height:100px; top:100px; } #content { margin-top: 0px; } #Links { margin:0 auto; background-color:#090974; height:30px; } #Links ul { width:1000px; height:30px; margin: 0px; list-style-type:none; padding-left:0px; } #Links li { float:left; font-size:26px; height:30px; width:25%; margin:0 auto; } #Links a { text-decoration:none; color:white; } #Content { Geintegreerde proef

35


height:auto } #information { position:relative; height:inherit; border-bottom:5px solid; border-bottom-color:#090974; margin:0; } #information h1{margin-bottom:0px;margin-top:0px;} .Link{font-size:11px} .Login { font-size: 14px; float: right; -webkit-margin-before: 0em; -webkit-margin-after: 0em; -webkit-margin-start: 0px; -webkit-margin-end: 0px; padding: 0; background-color: white; color: black; } table{ border-collapse: collapse; border-spacing: 0px; margin-left:375.5px } } #Footer { height:inherit; margin:0px; } #Footer p { margin:0px; text-align:center; } #Footer a { text-decoration: none; margin: 0px; } .Pass { color: red; } .Comment table{ margin-left:150px; Geintegreerde proef

36


} .Thread table{ margin-left:171px; } .Forum table{ margin-left:310px; } 6.8.2 Asp.net

Object Index.aspx

Gebeurtenis Load

Doel LitLogin waarde geven

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Session("Login") = False Then Session("Login") = False litLogin.Text = "<a href=""Login.aspx"">Login</a>" Else If Session("Login") = True Then LitLogin.Text = "<a href=""Account.aspx"">Account</a>" End If End If End Sub

Geintegreerde proef

37


Object Inlog.aspx btnLogin

Gebeurtenis Load Click

Doel LitLogin waarde geven Login

Imports System.Data.SqlClient Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Session("Login") = False Then Session("Login") = False litLogin.Text = "<a href=""Login.aspx"">Login</a>" Else If Session("Login") = True Then Session("Login") = True litLogin.Text = "<a href=""Account.aspx"">Account</a>" End If End If End Sub Protected Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click Dim sqlcmd As New SqlCommand Dim sqlcon As New SqlConnection(ConfigurationManager.ConnectionStrings("cnnGpWebsite").ConnectionS tring) Dim strsql As String Dim Username As New HttpCookie("Username") sqlcon.Open() strsql = "SELECT COUNT(UserID) FROM tblUser WHERE username='" & txtUser.Text & "' AND Password='" & txtPass.Text & "'" With sqlcmd .Connection = sqlcon .CommandText = strsql End With 'afhandelen 0 of 1 If sqlcmd.ExecuteScalar > 0 Then Session("Login") = True Username.Value = txtUser.Text Username.Expires = Now.AddHours(3) Response.Cookies.Add(Username) sqlcon.Close() strsql = "" strsql = "SELECT UserID FROM tblUser WHERE username='" & txtUser.Text & "'" With sqlcmd .Connection = sqlcon .CommandText = strsql End With sqlcon.Open() Dim datareader As SqlDataReader = sqlcmd.ExecuteReader() Do While datareader.Read Session("UserID") = datareader.Item("UserID").ToString Loop

Geintegreerde proef

38


sqlcon.Close() Response.Redirect("Account.aspx") Else 'opmerking tonen litmelding.Text = "<p>Username and Password are incorrect</p>" txtPass.Text = "" txtUser.Text = "" txtUser.Focus() End If sqlcon.Close() End Sub

Object Account.aspx Logout

Gebeurtenis Load Onserverclick

Doel LitLogin waarde geven Logout

Imports System.Data.SqlClient Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim intPass As Integer If Session("Login") = False Then Session("Login") = False litLogin.Text = "<a href=""Login.aspx"">Login</a>" Response.Redirect("Login.aspx") Else If Session("Login") = True Then Session("Login") = True litLogin.Text = "<a href=""Account.aspx"">Account</a>" sqlcon.Open() strsql = "SELECT Username,Password, Email, Picture FROM tblUser WHERE username='" & Request.Cookies("Username").Value & "'" With sqlcmd .Connection = sqlcon .CommandText = strsql End With Dim datareader As SqlDataReader = sqlcmd.ExecuteReader() Do While datareader.Read() lblUsername.Text = datareader.Item("Username").ToString lblEmail.Text = datareader.Item("Email").ToString intPass = datareader.Item("Password").length For i = 0 To intPass lblPass.Text &= "*" Next imgPicture.ImageUrl = "Afbeeldingen\" & datareader.Item("Picture").ToString Loop End If End If sqlcon.Close() End Sub Protected Sub Logout(sender As Object, e As EventArgs) Session("Login") = False

Geintegreerde proef

39


Response.Redirect("Login.aspx") End Sub

Geintegreerde proef

40


Object ChangePass.aspx btnChange

Gebeurtenis Load Click

Doel LitLogin waarde geven Change pass

Imports System.Data.SqlClient Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Session("Login") = False Then Session("Login") = False LitLogin.Text = "<a href=""Login.aspx"">Login</a>" Else If Session("Login") = True Then Session("Login") = True LitLogin.Text = "<a href=""Account.aspx"">Account</a>" End If End If End Sub Protected Sub btnChange_Click(sender As Object, e As EventArgs) Handles btnChange.Click If txtNew.Text <> txtCurrent.Text Then Dim sqlcmd As New SqlCommand Dim sqlcon As New SqlConnection(ConfigurationManager.ConnectionStrings("cnnGpWebsite").ConnectionS tring) Dim strsql As String sqlcon.Close() strsql = "Update tblUser Set Password='" & txtNew.Text & "'where Username = '" & Request.Cookies("Username").Value & "'" With sqlcmd .Connection = sqlcon .CommandText = strsql End With 'update doorvoeren sqlcon.Open() sqlcmd.ExecuteNonQuery() sqlcon.Close() Response.Redirect("Account.aspx") Else litMelding.Text = "Your new password and your current password are the same" End If End Sub

Geintegreerde proef

41


Object Wachtwoord.aspx btnSend

Gebeurtenis Load Click

Doel LitLogin waarde geven Verstuurt een test email

Imports System.Net.Mail Imports System.Data.SqlClient Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Session("Login") = False Then Session("Login") = False litLogin.Text = "<a href=""Login.aspx"">Login</a>" Else If Session("Login") = True Then Session("Login") = True litLogin.Text = "<a href=""Account.aspx"">Account</a>" End If End If End Sub Protected Sub btnSend_Click(sender As Object, e As EventArgs) Handles btnSend.Click Dim sqlcmd As New SqlCommand Dim sqlcon As New SqlConnection(ConfigurationManager.ConnectionStrings("cnnGpWebsite").ConnectionS tring) Dim strsql As String sqlcon.Open() strsql = "SELECT COUNT(UserID) FROM tblUser WHERE Email='" & txtMail.Text & "'" With sqlcmd .Connection = sqlcon .CommandText = strsql End With If sqlcmd.ExecuteScalar > 0 Then Dim Smtp_Server As New SmtpClient("smtp.live.com") Dim e_mail As New MailMessage() Smtp_Server.UseDefaultCredentials = False Smtp_Server.Credentials = New Net.NetworkCredential("razorheadforum@hotmail.com", "charmie1995") Smtp_Server.Port = 587 Smtp_Server.EnableSsl = True e_mail = New MailMessage() e_mail.From = New MailAddress("razorheadforum@hotmail.com") e_mail.To.Add(txtMail.Text) e_mail.Subject = "Email Sending" e_mail.IsBodyHtml = False e_mail.Body = "hello" Smtp_Server.Send(e_mail) Response.Redirect("Login.aspx") Else litmelding.Text = "Email is not correct or email has not been registered" End If sqlcon.Close()

Geintegreerde proef

42


End Sub

Geintegreerde proef

43


Object Username.aspx btnchange

Gebeurtenis Load Click

Doel LitLogin waarde geven Change Username

Imports System.Data.SqlClient Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Session("Login") = False Then Session("Login") = False litLogin.Text = "<a href=""Login.aspx"">Login</a>" Else If Session("Login") = True Then Session("Login") = True litLogin.Text = "<a href=""Account.aspx"">Account</a>" End If End If End Sub Protected Sub btnChange_Click(sender As Object, e As EventArgs) Handles btnChange.Click Dim sqlcmdTest As New SqlCommand Dim sqlcon As New SqlConnection(ConfigurationManager.ConnectionStrings("cnnGpWebsite").ConnectionS tring) With sqlcmdTest .Connection = sqlcon .CommandText = "SELECT COUNT(UserID) FROM tblUser WHERE username='" & txtNew.Text End With sqlcon.Open() If sqlcmdTest.ExecuteScalar = 0 Then sqlcon.Close() Dim sqlcmd As New SqlCommand Dim strsql As String strsql = "Update tblUser Set Password='" & txtNew.Text & "'where Username = '" & Request.Cookies("Username").Value & "'" With sqlcmd .Connection = sqlcon .CommandText = strsql End With 'update doorvoeren sqlcon.Open() sqlcmd.ExecuteNonQuery() sqlcon.Close() Response.Redirect("Account.aspx") Else litMelding.Text = "That username is already taken" End If End Sub

Geintegreerde proef

44


Object Picture.aspx btnUpload

Gebeurtenis Load Click

Doel LitLogin waarde geven Changes the picture

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Session("Login") = False Then Session("Login") = False LitLogin.Text = "<a href=""Login.aspx"">Login</a>" Response.Redirect("Login.aspx") Else If Session("Login") = True Then LitLogin.Text = "<a href=""Account.aspx"">Account</a>" End If End If Protected Sub btnUpload_Click(sender As Object, e As EventArgs) Handles btnUpload.Click Dim sqlcon As New SqlConnection(ConfigurationManager.ConnectionStrings("cnnGpWebsite").ConnectionS tring) Dim strsql As String Dim sqlcmd As New SqlCommand If fupPic.HasFile = True Then If fupPic.FileName.Length < 50 Then fupPic.PostedFile.SaveAs(Server.MapPath("Afbeeldingen" & "\" & fupPic.PostedFile.FileName)) strsql = "Update tblUser Set Picture='" & fupPic.PostedFile.FileName & "'where Username = '" & Request.Cookies("Username").Value & "'" With sqlcmd .Connection = sqlcon .CommandText = strsql End With 'update doorvoeren sqlcon.Open() sqlcmd.ExecuteNonQuery() sqlcon.Close() Response.Redirect("Account.aspx") Else litMelding.Text = "<p>Your picture name is invalid</p>" End If End If End Sub

Geintegreerde proef

45


Object Forum.aspx gvForum

Gebeurtenis Load SelectedIndexChanged

Doel LitLogin waarde geven Redirect Threads.aspx

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Session("Login") = False Then Session("Login") = False litLogin.Text = "<a href=""Login.aspx"">Login</a>" Else If Session("Login") = True Then litLogin.Text = "<a href=""Account.aspx"">Account</a>" End If End If End Sub Private Sub GridView1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles gvForum.SelectedIndexChanged Dim sqlcmd As New SqlCommand Dim sqlcon As New SqlConnection(ConfigurationManager.ConnectionStrings("cnnGpWebsite").ConnectionS tring) Dim strsql As String Session("Forum") = gvForum.SelectedRow.Cells(1).Text strsql = "SELECT ForumID FROM tblForum WHERE Title='" & Session("Forum") & "'" With sqlcmd .Connection = sqlcon .CommandText = strsql End With sqlcon.Open() Dim datareader As SqlDataReader = sqlcmd.ExecuteReader() Do While datareader.Read Session("ForumID") = datareader.Item("ForumID").ToString Loop sqlcon.Close() Response.Redirect("Threads.aspx") End Sub

Geintegreerde proef

46


Object Forum.aspx gvThreads btnNewThread

Gebeurtenis Load SelectedIndexChanged Click

Doel LitLogin waarde geven Redirect Threads.aspx Redirect newThread.aspx

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Session("Login") = False Then Session("Login") = False litLogin.Text = "<a href=""Login.aspx"">Login</a>" Else If Session("Login") = True Then litLogin.Text = "<a href=""Account.aspx"">Account</a>" End If End If End Sub Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles btnNewThread.Click Response.Redirect("NewThread.aspx") End Sub Protected Sub GridView1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles gvThreads.SelectedIndexChanged Dim sqlcmd As New SqlCommand Dim sqlcon As New SqlConnection(ConfigurationManager.ConnectionStrings("cnnGpWebsite").ConnectionS tring) Dim strsql As String Session("Thread") = gvThreads.SelectedRow.Cells(1).Text strsql = "SELECT ThreadID FROM tblThreads WHERE Title='" & Session("Thread") & "'" With sqlcmd .Connection = sqlcon .CommandText = strsql End With sqlcon.Open() Dim datareader As SqlDataReader = sqlcmd.ExecuteReader() Do While datareader.Read Session("ThreadID") = datareader.Item("ThreadID").ToString Loop sqlcon.Close() Response.Redirect("Comments.aspx") End Sub

Geintegreerde proef

47


Object Forum.aspx btnNewComment

Gebeurtenis Load Click

Doel LitLogin waarde geven Redirect newComment.aspx

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Session("Login") = False Then Session("Login") = False litLogin.Text = "<a href=""Login.aspx"">Login</a>" Else If Session("Login") = True Then litLogin.Text = "<a href=""Account.aspx"">Account</a>" End If End If End Sub Protected Sub btnComment_Click(sender As Object, e As EventArgs) Handles btnComment.Click Response.Redirect("NewComment.aspx") End Sub

Object Newthread.aspx btnPost

Gebeurtenis Load Click

Doel LitLogin waarde geven Niewe Thread

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Session("Login") = False Then Session("Login") = False litLogin.Text = "<a href=""Login.aspx"">Login</a>" Response.Redirect("Login.aspx") Else If Session("Login") = True Then Session("Login") = True litLogin.Text = "<a href=""Account.aspx"">Account</a>" End If End If End Sub Protected Sub btnPost_Click(sender As Object, e As EventArgs) Handles btnPost.Click Dim sqlcmd As New SqlCommand Dim sqlcon As New SqlConnection(ConfigurationManager.ConnectionStrings("cnnGpWebsite").ConnectionS tring) Dim strsql As String strsql = "Insert Into tblThreads (Title,Content,CreationDate,Altered,Sticky,Solved,UserID,ForumID) values('" & txtTitle.Text & "','" & txtContent.Text & "',GETDATE(), 0,0,0,'" & Session("UserID") & "','" & Session("ForumID") & "')" With sqlcmd .Connection = sqlcon .CommandText = strsql End With sqlcon.Open()

Geintegreerde proef

48


sqlcmd.ExecuteNonQuery() Response.Redirect("Threads.aspx") sqlcon.Close() End Sub

Geintegreerde proef

49


Object NewComment.aspx btnPost

Gebeurtenis Load Click

Doel LitLogin waarde geven Niewe Comment

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Session("Login") = False Then Session("Login") = False litLogin.Text = "<a href=""Login.aspx"">Login</a>" Response.Redirect("Login.aspx") Else If Session("Login") = True Then Session("Login") = True litLogin.Text = "<a href=""Account.aspx"">Account</a>" End If End If End Sub Protected Sub btnPost_Click(sender As Object, e As EventArgs) Handles btnPost.Click Dim sqlcmd As New SqlCommand Dim sqlcon As New SqlConnection(ConfigurationManager.ConnectionStrings("cnnGpWebsite").ConnectionS tring) Dim strsql As String strsql = "Insert Into tblComment (CreationDate,Content,UserID,ForumID,ThreadID) Values(GETDATE(),'" & txtContent.Text & "','" & Session("UserID") & "','" & Session("ForumID") & "','" & Session("ThreadID") & "')" With sqlcmd .Connection = sqlcon .CommandText = strsql End With sqlcon.Open() sqlcmd.ExecuteNonQuery() Response.Redirect("Comments.aspx") sqlcon.Close() End Sub

Geintegreerde proef

50


Nawoord Ik vond dat de GP-opdrachten heel goed op elkaar afgestemd waren, vooral de server en de site. Ik heb geleerd dat het niet evident is om een planning te maken. Soms kwamen er opeens deadlines bij voor bepaalde vakken en was het noodzakelijk om je planning te kunnen aanpassen. Zowel de stageperiode als het volbrengen van mijn taken voor de GP waren boeiend en leerrijk. Ik vind toch dat ik de meeste GP-opdrachten beter uitgevoerd kon hebben.. Ik heb ook gemerkt dat ik altijd veel te laat aan mijn taken begon. In de toekomst zal ik hier zeker aan moeten werken. Wat ik tijdens mijn stage heb bijgeleerd, zal later zeker nog nuttig zijn. In het volgend hoofdstuk van mijn leven zal ik de richting SSD of System en software development volgen.

Geintegreerde proef

51


GP Bundel Vandaele Johno