De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Les 08: SESSIONS & COOKIES SESSIONS & COOKIES Front-end development.

Verwante presentaties


Presentatie over: "Les 08: SESSIONS & COOKIES SESSIONS & COOKIES Front-end development."— Transcript van de presentatie:

1 Les 08: SESSIONS & COOKIES SESSIONS & COOKIES Front-end development

2 2 Leerdoelen (bron: modulewijzer) Front-end development  Je kent het verschil tussen $_SERVER, $_SESSION en $_REQUEST variabelen en je begrijpt het verschil in lifecycle  Je kunt een eenvoudige login maken  Je kunt Cookies zetten en deze later weer uitlezen  Je kunt gegevens bewaren in een Session  Je bent je bewust van verschillende manieren waarop hackers te werk gaan en kent methodes om dat in PHP te voorkomen. Les 8> leerdoelen

3  $_SERVER blijft beschikbaar zolang de server aanstaat  $_SESSIONblijft beschikbaar zolang een gebruiker op de server aktief is  $_REQUEST is beschikbaar NADAT een gebruiker een request heeft verstuurd Front-end development PHP : SUPERGLOBALS Les 8 > PHP > superglobals

4 Front-end development Les 8 > SESSIONS Weer een kreet: SESSIONS. Wat is dat nu weer? SESSIONS Voor meer info zie begin/restore session sla data op goed ingevuld ? j n vul & toon formulier user/pass found ? toon melding n j C[reate] R[ead] U[pdate] D[elete] user admin Manage application SESSIONS bieden je de mogelijkheid om gegevens op een server (IP-adres) te bewaren zolang je op die server aanwezig bent, zolang de http session aktief is. Een SESSION wordt opgeslagen in de superglobal $_SESSION. Reuze handig als je iets tijdelijk wilt opslaan, zolang je op een website aanwezig bent. Bijvoorbeeld de inhoud van een shopping-cart. Of een switch die vertelt of je ingelogd bent of niet. Een gewone (lokale) variabele kun je daar niet voor gebruiken omdat deze niet leesbaar is in andere pagina’s.

5 We gaan klassikaal een werkende CRUD applicatie maken voor de ‘customers’ tabel in de database ‘classicmodels’, welke eerder deze periode tijdens de lessen is gebruikt. Dit doen we aan de hand van een werkende voorbeeld applicatie genaamd ‘crudsample’ welke we als ‘template’ zullen gebruiken voor de nieuwe applicatie die we ‘crudcustomers’ noemen.crudsample De sheets uit deze presentatie kunnen daarbij als leidraad worden gebruikt, beginnend bij de Read functionaliteit. Front-end development Lesplan Les 7 > CRUD > lesplan CRUDSAMPLECRUDCUSTOMERS

6  Er is op de updatescripts (nog) geen login beveiliging aangebracht.  Let op de naamgeving, deze zul je op diverse plekken aan moeten passen:  kolom en table namen in de queries  veldnamen in formulieren  superglobals en variabelen  database naam De zip van de ‘crudsample’ voorbeeld applicatie vind je hier Als je de database ‘classicmodels’ nog niet hebt kun je deze hier downloaden Front-end development Vooraf Les 7 > CRUD > Vooraf

7 Front-end development Les 7 > CRUD > Read Met deze functionaliteit worden de opgeslagen gegevens opgehaald uit de database en in een overzicht getoond aan de gebruiker. Via PHP wordt een SQL query samengesteld en uitgevoerd in de MySQL database. Het resultaat wordt in een HTML table ondergebracht en getoond in de browser. SQL select column from tablename order by column [asc/desc] Lesopdracht Bekijk onderstaand script en maak deze werkend op jouw webspace voor de table customers in de classicmodels database. Denk na welke gegevens (velden/kolommen) je nodig hebt! >> tonen_overzicht.phpstonen_overzicht.phps READ maak query en voer uit toon overzicht j n records ? toon melding C[reate] R[ead] U[pdate] D[elete] user admin Manage application

8 Front-end development Les 7 > CRUD > Create Met deze functionaliteit ga je gegevens toevoegen aan de database. Dit doe je met behulp van een invul formulier, waarna de ingevulde gegevens via de mysql instructie INSERT worden ingevoegd in de betreffende table. Zowel voor het invulformulier als voor de verwerking van de ingevulde gegevens worden in dit voorbeeld aparte scripts gebruikt. SQL insert into tablename (columns) values (values) Lesopdracht Bekijk onderstaande scripts en maak deze werkend op jouw webspace voor de table customers in de classicmodels database. Denk na welke gegevens (velden/kolommen) je nodig hebt! >> toevoegen_form.phps | toevoegen_action.phpstoevoegen_form.phpstoevoegen_action.phps CREATE invullen formulier sla data op j n goed ingevuld ? toon melding C[reate] R[ead] U[pdate] D[elete] user admin Manage application

9 Front-end development Les 7 > CRUD > Update Met deze functionaliteit worden bestaande gegevens in de database gewijzigd. Via een hyperlink in het overzicht wordt een record uit de database opgehaald en in een HTML formulier geladen, waarna de gegevens door de gebruiker kunnen worden aangepast. Bij versturen van het formulier worden de gegevens in de database overschreven met behulp van het UPDATE statement. SQL update tablename set column=value where column = value Lesopdracht Bekijk onderstaande scripts en maak deze werkend op jouw webspace voor de table customers in de classicmodels database. Denk na welke gegevens (velden/kolommen) je nodig hebt! >> wijzigen_form.phps | wijzigen_action.phpswijzigen_form.phpswijzigen_action.phps UPDATE haal data sla data op goed ingevuld ? j n vul & toon formulier records ? toon melding n j C[reate] R[ead] U[pdate] D[elete] user admin Manage application

10 Front-end development Les 7 > CRUD > Delete Met deze functionaliteit worden eerder opgeslagen gegevens uit de database verwijderd. In het overzichtscherm wordt voor ieder record een hyperlink getoond. In deze hyperlink wordt het ID doorgegeven aan het verwijderscript, zodat deze de query kan samenstellen voor dat specifieke record. Er wordt via javascript om een bevestiging gevraagd waarbij de verwijderaktie kan worden afgebroken. SQL delete from tablename where column = value; Lesopdracht Bekijk onderstaand script en maak deze werkend op jouw webspace voor de table customers in de classicmodels database. Denk na welke gegevens (velden/kolommen) je nodig hebt! >> verwijderen.phpsverwijderen.phps DELETE toon record verwijder record j n verwijderen ? toon melding C[reate] R[ead] U[pdate] D[elete] user admin Manage application

11 Front-end development Les 7 > Fileupload > HTML Je hebt vast wel eens een advertentie op Marktplaats.nl geplaatst en daarbij 1 of meer foto’s geupload. Of je hebt een flickr, facebook of hyves account waar ook mogelijkheden zijn om bestanden (foto’s, filmpjes etc.) te uploaden. Waarschijnlijk geen onbekend fenomeen dus. Maar hoe werkt zoeiets nu? Allereerst heb je een HTML formulier nodig. In de form tag moet je van het form element het attribute ‘enctype’ op onderstaande manier gebruiken: Vervolgens heb je in het formulier een button nodig om je lokale harddisk te kunnen verkennen zodat je bestanden kunt opzoeken en selecteren die je wilt uploaden. Hiervoor moet je van het file element het attribute ‘type’ op onderstaande manier gebruiken: Het bestand wat je hebt geselecteerd wordt bij submit van het formulier ondergebracht in de superglobal $_FILES Via een submit button wordt het formulier verstuurd naar ‘uploadcheck.php’ >> upload.htmupload.htm FILE UPLOAD: HTML

12 Front-end development Les 7 > Fileupload > PHP Je hebt PHP nodig om de informatie die is verstuurd met het formulier te kunnen verwerken. De informatie wordt via het HTTP protocol verstuurd in de superglobal $_FILES. Via de function move_uploaded_file wordt het bestand in een bepaalde map op de server geplaatst. Deze map (bijv. de map ‘files’) moet leesbaar en schrijfbaar zijn. Dit kun je met het Linux shell command CHMOD instellen, bijv. chmod files 775. Meer hierover vind je op User (rwx) = = 7 Group(rwx) = = 7 World (rx) = 4+1 = 5 chmode mode = 755 CHMOD kun je ook via FTP uitvoeren. Dit doe je door een map of bestand met de rechtermuis aan te klikken waarna je via de properties (eigenschappen) de rechten kunt aanpassen. Ook is het mogelijk om meerdere files met 1 form te uploaden (multiple file upload). Meer info vind je op >> uploadcheck.phpsuploadcheck.phps FILE UPLOAD: PHP


Download ppt "Les 08: SESSIONS & COOKIES SESSIONS & COOKIES Front-end development."

Verwante presentaties


Ads door Google