Høgskolen i Oslo Webprogrammering Ajax og PHP. I dag l Hvordan få en bedre brukeropplevelse via Ajax- script l Gjennomgang av kode l Oppgaveløsning på.

Slides:



Advertisements
Liknende presentasjoner
Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring.
Advertisements

14 okt. 2003, Arne Maus Inst. for informatikk, UiO
Bygg web på Opplæring Presentasjon Idium AS Bygg web på Opplæring.
Høgskolen i Oslo Webprogrammering Tilstandsbevaring Sessions og cookies.
Innsynsløsninger og tilleggsfunksjonalitet Jan Kocbach
Webprogrammering (LO113A) 1 Kom i gang med PHP. Webprogrammering (LO113A) 2 Mål  Installere Apache og PHP  Konfigurasjon av Apache og PHP  Forstå samspillet.
Leksjon 3 Noen få ord om DHTML Event handlers i Javasript. DOM Danne grupper… (labøvelser)
Filbehandling (Kapittel 8)
Høgskolen i Oslo Webprogrammering SQL og databaser del 1.
Høgskolen i Oslo Webprogrammering Grunnleggende PHP.
JSP presentasjon Arild Strømhylden NTNU 26 June 2014.
Programmering i ActionScript - hva er det, og hvordan undervise?
Høgskolen i Oslo Webprogrammering SQL og databaser del 3.
A JAX i praksis By Geir Otto Olsen THInc Consulting AS.
Introduksjon til objektorientert programmering i PHP
Webprogrammering Arrays.
Webprogrammering SQL og databaser del 2.
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Begrenset redigering “Klubbjournalister” For web ansvarlig klubb.
Høgskolen i Oslo Webprogrammering Introduksjon til Java-scripting.
Objektorientert programmering i PHP del 2
EcmaScript 5 Arrays Demonstrasjon av ny funksjonalitet støttet i IE 9.
Databasehåndtering med MySQL
© Lars-Erik Kindblad.  Et platformuavhengig verktøy for å automatisere build prosesser.  Støttes og drives av Apache Software Foundation.  Kommer ferdig.
Bakgrunn. Funksjoner. Nøkkelfunksjoner. Application Manager. View Controller. Validation. Dialog Manager. Clay. Tiger extensions.
C# for javaprogrammerere
Jæger: Robuste og sikre systemer INF150 Programmering mandag 2.10 Default values – standardverdier ved oppstart MER OM: Sub-prosedyrer og sub-funksjoner.
Gjennomgang av prøven Tidsangivelse. Prøven deles ut Vi fyller ut øvelsen sammen.
Hovedprosjekt 44 Webrapporteringssystem med ASP
Å lage sikre klasser Unntaksklassene i Java-API-et Unntakshåndtering i databasesammenheng try-catch-finally-setningen Trelagsarkitektur; egen databaseklasse.
Byggesak Trinn for trinn.
Side 1. Side 2 Agenda Begreper Norman ASA Mål og hensikt Teknologi Oversikt over systemet Demonstrasjon av systemet Tekniske løsninger Prosessen Konklusjon.
PayEx Logistics Hovedprosjekt - Gruppe 16 Thomas Siavash Glenn Viktorija.
Bruk av PHP. Nyttige funksjoner Tidsfunksjoner –Time(), date(), checkdate(), mktime() Tabellfunksjoner –Navigasjon current(), key(), next(), prev(), end(),
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
HØGSKOLEN I AGDER Agder University College © Bjørn Olav Hogstad, HiA, 2002 HØGSKOLEN I AGDER Agder University College Word - maler 1 DAT100 TEMA: Maler.
Flash og ActionScript - Nye muligheter Jostein Nordengen.
1 Arrayer og form(ularer) (Kapittel 4). 2 Mål  Forstå assosiative og superglobale arrays  Kunne behandle webformularer (forms)  Kjenne forskjellen.
1 Organisering av kode (Kapittel 5). 2 Mål ● Forstå inkludering er og hvilken gevinst det gir ● Lære å utvikle egne funksjoner ● Forstå variablenes virkemåte.
Høgskolen i Oslo Webprogrammering Filbehandling i PHP.
Høgskolen i Oslo Web-programmering Feilhåndtering i PHP.
Intro til php - Uke3.2 - Ronny Mandal Introduksjon til PHP.
Regulære uttrykk.
Webprogrammering Skjema i HTML og PHP.
Høgskolen i Oslo Webprogrammering Java-scripting 2 Klientvalidering.
Stringmanipulasjon, RegEx og validering
Fjernstyring av PCer med NTRconnect Svein/ALEPH brukermøte 2007.
Publisering på verdensveven Kursdag 1 VÅFF, våren 2002.
Skjema/Forms HTML II IT og læring 2/20 november 2001.
Dynamiske nettsider PHP Del 3 – Funksjoner. Funksjoner  Funksjoner brukes for å dele større oppgaver i mindre oppgaver  Når vi lager programmer basert.
Dynamiske nettsider PHP Del 2 – Kontrollstrukturer.
Dynamiske nettsider PHP Del 1 – variable. PHP  PHP (Personal Home Page)  Fritt tilgjengelig programmeringsspråk  åpen kildekode  Plattformuavhengig.
DOM og scripting Making it come alive. Hva er DOM? Standard for å definere trestrukturen til XML-dokumenter. IDL-spesifikasjon av grensesnitt, egenskaper.
Med hånda i kakeboksen. Oblig 4, cookies, sesjoner, stored procedures, error handling.
SQL+XQuery+XML+ PHP+XSLT+HTML = $$ ?. CGI Common Gateway Interface Parametere til websider (server-side scripts) I URL'en:
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI UNIVERSITETET I OSLO USIT Side 1 Installering av Windows XP med PXE (netboot) Del 1 – forhåndskonfigurering.
Introduksjon til bruk av oversetterverktøy
Enkel godkjenning i ePhorte SharePoint
Dag 5: php Status Intro til php Include af menu til alle sider på site Besøgstæller Afstemning 19/ helf KEA.
Tekniske valg i applikasjonen Mine studier USITs allmøte 9.oktober 2014.
1 Java Database Connectivity (JDBC) Norvald H. Ryeng
Design, studentundersøkelse Frode Svartdal, Knut Gundersen.
Android-Programmering Våren Oversikt Ytelse vs responsivitet Strategier for og opprettholde responsiviteten Tråder Asynchronous Task.
Klasse: 2HKI Student: Bertil Gjerstad Oppgnr: 25E
Upload av bildefiler Utdrag fra ImageIn Ved Kirsten Klæbo Tirsdag 25/11-03.
Mer avansert kryptering Mål: Kode et dokument slik at det blir uleselig for de som ikke har kodenøkkelen.
Bompasseringer Mål: Slå sammen data om bompasseringer fra mange bomselskap. Sende ut en samlefaktura til hver bileier.
Kap. 6 – Cases of Formalization Level How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai.
Gruppe 51E Inger Torp, Edvard Andrè Nilsen, & Janne KB Pedersen
Utskrift av presentasjonen:

Høgskolen i Oslo Webprogrammering Ajax og PHP

I dag l Hvordan få en bedre brukeropplevelse via Ajax- script l Gjennomgang av kode l Oppgaveløsning på lab –Prosjektet –Regner med vi kjører lab de neste 3 ukene –Eksempel-eksamen er lagt ut

Hva er Ajax? l Asynkron JAvascript and Xml l Hensikten er å gjøre brukeropplevelsen bedre ved at data kan lastes asynkront l Det vil si når man trenger noe fra server uten å måtte sende hele siden opp til server (postback) l F.eks når man skriver noe inn i et felt –Få mulige feltverdier dynamisk fra databasen

Fordeler og ulemper med Ajax l Fordeler: l Bedre brukervennlighet l Umiddelbar tilbakemelding l Mer likt vanlige GUI som windowsappl. f.eks Word l Ulemper: l Økt belastning på server l Følsom for ytelse (må mot server mye oftere) l Krever bra linjekapasitet l Må brukes med forsiktighet l Nettleser avhengig l Begrenset debugging

Ajax videre l Et standard javascript med en ”event” og funksjon f.eks: – –Her er funksjon1 en javascript-funksjon. –Parameter inn er verdien på tekstfeltet

Ajax, bruk av HttpRequest 1. Opprette et objekt av type XMLHttpRequest 2. Sende objektet til server via en GET metode, URL og parametere (url?var=Per) 3. Filen som URL’en peker på returnerer data via standard output (i PHP echo) 4. Vente på svar via en funksjon i objektet (onreadystatechange) 5. Hente informasjon via parameteren responseText i objektet

Eksempel l Et skjema med to inputfelter, Navn og Adresse l Mulig å skrive inn i Navnfeltet ikke i Adresse l Skriver inn et navn i Navn-feltet l Går ut av Navn-feltet: –Programmet går asynkront til server for å hente adressen til navnet (bruker et Ajax kall) –Adressen vises i Adresse-feltet.

Klient / Tjener kode Klient-kode (HTML/JavaScript) Tjener-kode (PHP) var url=”Tjener-kode.php?var=Per”; xmlhttp=new XMLHttpRequest(); xmlhttp.open("GET",url,true); xmlhttp.send(); xmlhttp.onreadystatechange=function() returfelt.value=xmlhttp.responseText ; <? //Tjener-kode.php $DB = mysql_connect('localhost','root',''); mysql_select_db('test'); $var=$_GET["var"]; $sql = "SELECT * FROM bruker WHERE Navn =var"; $resultat = mysql_query($sql); $rad = mysql_fetch_array($resultat); echo $rad['Adresse'] ?>

function ajaxfunksjon(str) { xmlhttp=new XMLHttpRequest(); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { returfelt.value=xmlhttp.responseText; } // returfelt må defineres som et HTML felt i } var url = "Hent-data.php?var=”+str; xmlhttp.open("GET",url,true); xmlhttp.send(); } Navn : Adresse: Klientkode: Ikke komplett kode Kun skallkode!

<? //Tjener-kode.php $DB = mysql_connect('localhost','root',''); mysql_select_db('test'); $var=$_GET["var"]; $sql = "SELECT * FROM bruker WHERE Navn =var"; $resultat = mysql_query($sql); $rad = mysql_fetch_array($resultat); echo $rad[’Adresse'] ?> Tjenerkode: Ikke komplett kode Mangler bla. feilhåndtering

Ajax-trinn l Må lage en javascript funksjon som trigges av en ”event” (onClick, mouseOver…) l I denne funksjonen må det bygges opp et XMLHttpRequest objekt l Dette sendes med GET-metode, URL og parametere l Leses av tjenerprogrammet med $_GET l Returnerer verdier ved å echo’e disse l Leses av klient via objekt. ResponseText

Kodeeksempel l Et skjema med to inputfelter, Postnr og Poststed l Ved å oppgi Postnr så skal Poststedet komme automatisk l Skjer ved onChange-hendelse på Postnr-feltet l Henter Poststed fra databasen via at Ajax-kall l Deretter skal dataene lagres ved å trykke på en knapp l Inputvalidering av Postnr-feltet via Javascript på klient og PHP på server (viktig med begge steder) l Bruk av Regex l Så til koden!

Siste forelesning l Siste forelesning! l Eksamen 7.6, alle skriftlige hjelpemidler tillatt l Lykke til med ferdigstillingen prosjektet (leveres innen 15 mai). l Lykke til med videre jobbing og eksamen! l Vanlig lab neste uke og uken deretter l Etter det er jeg tilgengelig på mail / kontoret for spørsmål utover i mai (litt til og fra…)