Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 1 HTML og PHP: Baglæs fra output til input PHP: Variable, strenge og arrays Funktioner,

Slides:



Advertisements
Lignende præsentationer
Trehøje-Pigerne Side 1 Vejledning til brug af hjemmesiden Det er slet ikke så vanskeligt – så brug hjemmesiden flittigt… Det er.
Advertisements

Kort om JavaScript Afvikles i browser på klienten Sendes fra server (php, asp, aspx, htm) eller startes i klient som htm/html fil. Skabelon: –”main” -
Stored Procedure Stored Procedure er programstumper, der gemmes i databasen og afvikles op databaseserveren på samme måde som forespørgsler. Med Stored.
GSAK – helt fra start Hvad er GSAK ? Download og installation GSAK
Introduktion til Javascript – Grundlæggende Webdesign, F2004. Introduktion til Javascript.
Første gang du logger på, skal du bestille ny adgangskode her
SEO (Search Engine Optimization) - Hvordan bliver du mere synlig på nettet?
Introduktion til HTML Formularer V1 introduktion til formularer Den sidste af HTML strukturmarkørerne er FORM-markøren, der bruges til at lave.
Videregående pc-vejledning Modul 12: Tekstbehandling 2 60+Bornholm.
Introduktion til HTML Hypertekst referencer. Uden links – Hypertekst referencer – intet world wide web. World wide web er et Hypermedium….. Link definition.
Aktivering af link til passwordliste i SFX Anders Vestergaard, DBC, 19. februar 2013 OBS: Inden passwordliste aktiveres i SFX skal liste være oprettet.
Formularer (Access, del 3)
SQL 1 DDL og DML.
Distribueret programmering, specielt.NET Remoting Rasmus D. Lehrmann DM
Intro Forelæsning 2 Linux install-party lør.14.sept kl – man. 14.okt – Kursets omfang :7,5 ECTS Kursussammensætning: forelæsning.
Intro Eksamen 4-ugers-projekter? Eksamensforberedelse De sidste tre gange?
NetBeans Installation og brug.
Grundlæggende programmering Efterår 2001
CodeIgniter Database Brugerinput Form Validation 20101JFH.
Intro Variabler - datatyper. 2. forelæsning Hvad skete sidste gang Hvad er PHP? Kursussammensætning: læse – newsgroup – forelæsning – øvelsestime – aflevering.
Hanne-Pernille Stax, ph.d
Dag 2 varekatalog Broadcast: session-id (samme session-id hver gang) Formiddagens arbejde:
Dag 3 Indkøbskurv Jeres sider er nu synlige på Dagens program:
Introduktion til Access (Access, del 1)
Opslagsfelter (Access, del 6). RHS – Informationsteknologi 2 Udgangspunkt Vi er ofte i den situation, at valg af en type for et felt ikke begrænser vores.
Oprettelse af tabeller (Access, del 2)
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Økonometri 1: Dummy variable
GP5, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 5 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
Start test 1 KLIK HER. Hvilken tast skal du bruge for at redigere en celle direkte? 2 F1 F2 F5 F7.
Intro Projekttyper v/ Lise Louv, Uddannelsesafdelingen Siden sidst: evaluering på opgaver og virtuel kursus. Kursets ugeforløb læse – forelæsning – øvelsestime.
18 – Java Server Faces. 2 NOEA2009Java-kursus – JSF 2 Web-applikationer - 1 Brugere interagerer med en Web-browser Browseren sender forespørgsler til.
Intro Bemærkninger? Præsentation af litteratur: PHP and MySQL Web Development (SAMS) PHP Pocket Reference (O’Reilly) Dictionary of Networking (Sybex)
Programmering af dynamiske websider pages/tutorials/introducing-aspnet- web-pages-2/intro-to-web-pages- programming.
Databasestøttet Webpublicering1 Databasestøttet Webpublicering, Efterår 2005 Lektion 5, Mandag 26/9 : Web-programmering med PHP Hvad er gennemgået? Værdien.
FEN Prædikater/Seminar 11 Prædikatslogik eller Kvantificerede udtryk Prædikater udvider propositionslogikken på to måder: –Vi tillader variable.
1 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Hent data via URL Generering af xml –Raw –Auto –Explicit Hent data via template Evt.
Rapporter (Access, del 5). RHS – Informationsteknologi – Udgangspunkt Vi har oprettet en database Vi har defineret en eller flere tabeller, og.
Birgit Mikkelsen FC FIRST CLASS. Birgit Mikkelsen FC Hvad? Hvordan?
Program Design – 4 Introduktion til PHP. Dagens lektion Hvad er PHP?  - og lidt historie Hvordan virker PHP? Grundlæggende PHP  Variable  Typer  Løkker.
1 PC baseret dataanalyse og simulering Week2 A. 2 SAS input/output filer Inddata -textfil - SAS-program -textfil- SAS datasæt SAS system SAS listing -print.
Fundamentale datastrukturer
Intro Evaluering De sidste to gange?. HTTP, cookies og sessions Forelæsning nr 10 Tilbage til trafikken mellem server – client Sende HTTP-request og respons.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Opslagsfelter (Access, del 6). RHS – Informationsteknologi – Udgangspunkt Vi er ofte i den situation, at valg af en type for et felt ikke begrænser.
Introduktion til Access (Access, del 1). RHS – Informationsteknologi – Fra design til udvikling Vi ved nu, hvordan vi finder et design for en database,
Opsamling og repetition. Forelæsning 12 1) Opsamling og repetion - arrays - PHPs mysql-funktioner - SQL: SELECT, UPDATE, INSERT, DELETE - sikkerhed og.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
Procestræ under afvikling af cp init login shell cp cp src dest.
Tina Ratzer Hendes hjemmeside skal indeholde: Kontakt Forhandlerliste
Intro Siden sidst: evaluering på opgaver og virtuel kursus.
Validering af bruger-input i.NET WebForms Valideringsmuligheder i ASP.NET Fordele og ulemper Server-side vs. client-side Formatering vs. Validering.
8 RÅD VEDRØRENDE GOD PROGRAMMERING Effective (brown) Java.
ADO.NET Databaser SQL Client (SQL server 7 og senere) OleDb (en række incl. jet) ODBC MySql (ekstra driver skal instaleres) Oracle (XML dataset) Samme.
Fremstilling af Simple WEB steder [ITPL] Foråret 2004
Oprettelse af tabeller (Access, del 2)
PD – kursusgang 3 Introduktion til Java Script. Mål Viden om hvordan JavaScripts indlejres i HTML dokumenter Viden om programmering i JavaScript  Erklæring.
Intro Siden sidst: evaluering på opgaver og virtuel kursus.
Intro Siden sidst: evaluering på opgaver og virtuel kursus Kursussammensætning: forelæsning – læse – arbejde selvstændigt – newsgroup – øvelsestime – aflevering.
Intro Evaluering De sidste to gange?. HTTP, cookies og sessions Forelæsning nr 10 Tilbage til trafikken mellem server – client Sende HTTP-request og respons.
Database.
PHP.
Grundlæggende DW, HTML, CSS, udskæring.
Client / Server teknologi Eksamensteori Anbefaling: Tag notater.
Intro Siden sidst: evaluering på opgaver og virtuel kursus.
IT i Byggeriet Semester kursusgang Projektweb og html (fortsat) Kjeld Svidt Kjeld Svidt  Institut for Bygningsteknik  Aalborg.
Opsamling og repetition. Forelæsning 12 Hvad I ikke lærte Repetition? - date() - arrays - echo og return I funktioner - strukturering af script - navngivning.
Programmering I Java/C# Datatekniker Dit første projekt.
1587 Server - Blandet miljø Webintegrator HF1
Programmering.
Præsentationens transcript:

Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 1 HTML og PHP: Baglæs fra output til input PHP: Variable, strenge og arrays Funktioner, oprettelse og kald (og variable på tværs af funktioner) echo vs return? if-else konstruktioner MySQL: Hvad returnerer mysql_query(): true/false/resultatsæt? mysql_fetch_row(), mysql_error() Dagens menu

Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 2 Begrebsafklaring: Sprog: HTML, PHP, SQL Hardware: Browser, webserver, databaseserver, database PHP-filer på webserveren skal tale PHP med databaseserveren, SQL med databasen, og returnere HTML til browseren Hardware: Browser Webserver Database- server Database Sprog: HTML PHP SQL HTML, PHP, SQL, webserver, hvad er hvad??

Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 3 Det nemme eksempel: Ønskes: Krig er skidt, PHP er godt Laves: Krig er skidt, PHP er godt ”; ?> HTML og PHP, baglæns fra output til input (1)

Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 4 Det lidt sværere eksempel: Ønskes: Camilla Lasse Laves: ”. $row[0]. ” ”. ” ”. $row[1]. ” ”; } ?> HTML og PHP, baglæns fra output til input (2)

Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 5 Uklart output = ukendt proces = famlende programmering  Derfor: Hvis du er i tvivl så start bagfra Hvordan ser det endelige resultat ud (visuelt)? Hvordan ser det endelige resultat ud i kildekoden (html) Hvilke dele går tilsyneladende igen (kunne tyde på løkker) navn Hvilke dele kommer fra databasen Camilla, Lasse, Hvilke andre dele kan identificeres? Hvordan laves det i php? HTML og PHP, baglæns fra output til input (3)

Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 6 En variabel er en dims med et navn og en værdi (info inde i boksen). Værdien kan være En tekststreng $var = ”her er noget tekst”; Et tal $var = 36; En boolean $var = true; m.m. Quiz: Hvad er følgende? $var1 = -237; $var2 = ”945”; $var3 = $var1; $var4 = ”false”; $var5 = Variable og strenge

Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 7 Et array er en samling af værdier Der findes to typer arrays: Associative $arr1 = array (”navn” => ”Camilla”, ” ” => $arr2[”navn”] = ”Camilla”; $arr2[” ”] = Indexikale $arr1 = array (”Camilla”, $arr2[0] = ”Camilla”; $arr2[1] = Arrays (1)

Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 8 Et array kan forståes som en liste: Man navigerer et array ad x-aksen, derfor er $array[1] det samme som Arrays kan være flerdimensionelle, fx 2D, og kan nu bedre forstås som et skema: Man navigerer først ad x-aksen, derefter ad y-aksen, derfor er $array[0][1] det samme som Camilla, Arrays (2)

Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 9 En funktion er en samling af en eller flere processer/kommandoer. Funktioner kaldes også for procedurer. Opret en simpel procedure: function bingohat() { echo “ Krig er skidt, PHP er godt ”; } Kald/aktivér/eksekvér funktionen: bingohat(); Resultat: Krig er skidt, PHP er godt OBS: Oprettelse og kald af funktion er IKKE det samme! Funktioner (1)

Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 10 En funktion kan tage argumenter som input function bingohat($arg1, $arg2) { echo “ Krig er “. $arg1. “, PHP er “. $ARG2. “ ”; } Argumenter kan være i form tekststrenge, variabler, arrays, m.m. $klaphat = ”godt”; bingohat(”skidt”, $klaphat); Resultat: Krig er skidt, PHP er godt Funktioner (2), argumenter

Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 11 En funktion bør gøre brug af ENTEN echo eller return function multiplicer_ver1($tal1,$tal2) { echo ” ”. $tal1. ” gange ”. $tal2. ” er lig ”. ($tal1*$tal2). ” ”; } multiplicer_ver1(12,4); function multiplicer_ver2($tal1,$tal2) { $result = ” ”. $tal1. ” gange ”. $tal2. ” er lig ”. ($tal1*$tal2). ” ”; return $result; } $regnetal = 16; $res = multiplicer_ver1($regnetal,3); echo $res; Resultat: 12 gange 4 er lig gange 3 er lig 48 Funktioner (3), echo eller return?

Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 12 Hvad er forskellen på echo og return? Return en bredere anvendelig fordi echo skriver direkte til brugeren, mens return giver mulighed for videremanipulation, inden der skrives til brugeren (hvis der overhovedet skal skrives til brugeren...) Eksempel: function multiplicer_ver2($tal1,$tal2) { return ($tal1*$tal2); } $res = multiplicer_ver2(16,3); if ($res > 50) {... } else {... } Funktioner (4), echo eller return?

Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 13 Variable eksisterer ikke både i og udenfor rammerne af en funktion Eksempel: function multiplicer_ver2($tal1,$tal2) { $resultat = $tal1*$tal2; } multiplicer_ver2(16,3); echo $resultat; Resultat: [ ] Fejl: $resultat er oprettet inde i funktionen, men ikke givet med ud ( return $resultat ), opsamlet ( $res = multiplicer_ver2(16,3) ) for herefter at være tilgængelig også udenfor... Funktioner (5), variable på tværs af funktioner

Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 14 Quiz: Find 5 fejl !! function multiplicer_ver1($tal1,$tal22) { echo ” ”. $tal1. ” gange ”. $tal2. ” er lig ”. (tal1*$tal22). ” ”; } multiplicer_ver1($regnetal,4); function multiplicer_ver2($tal1,$tal2) { $result = ” ”. $tal1. ” gange ”. $tal2. ” er lig ($tal1*$tal2). ” ”; return $result } $regnetal = 16; multiplicer_ver1(16,3); echo $result; Funktioner (6), quiztime

Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 15 Ofte bruges if-else blot i små passager fx ifm formvalidering Eksempel: if ($submitknap) { $pattern = " “; $mailok = ereg($pattern,$ ); if ($mailok) { // alt i orden, toget kører videre } else { // dårlig mail, fætter, prøv igen } } NB: Har brugeren klikket på submit? Se under rettelser til opgavesæt If-else konstruktioner

Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 16 Men if-else konstruktioner kan også bruges til fx at omkranse et helt script og dermed være med til at styre udfaldet af et gennemløb... Eksempel: function executeSQL($strSQL) { if (!$link = mysql_connect(......)) { echo " Ingen server. ". mysql_error()." "; return false; } else { if (!mysql_select_db(..,$link)) { echo " Ingen database. ". mysql_error()." "; return false; } else { $res = mysql_query($strSQL, $link); if (!$res = mysql_query($strSQL, $link)) { echo " Query fejlede. ". mysql_error()." "; return false; } else { return $res; } } mysql_close($link); } } If-else konstruktioner (2)

Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 17 mysql_query() kan returnere 3 forskellige ting, alt afhængig af forespørgselstypen. Der findes grundlæggende to forskellige slags databaseforespørgsler, dem der returnerer data (”resultatsæt”) og dem, der ikke gør. Førstnævnte returner enten data eller false, sidstnævnte returnerer true eller false Eksempler på SQL-kommandoer, der returnerer data: SELECT, COUNT, DESCRIBE... Eksempler på SQL-kommandoer, der IKKE returnerer data: CREATE, INSERT, UPDATE, DELETE, DROP, ALTER... Hvad returner mysql_query() / executeSQL()?

Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 18 Udfaldet af mysql_query bør testes, enten internt i executeSQL() eller ved kaldstedet – fx inden resultatsættet gives videre til mysql_fetch_row(). Eksempel: if ($res = executeSQL(”SELECT navn, FROM brugere”)) { if (mysql_num_rows($res) > 0) { while ($row = mysql_fetch_row($res)) { echo... } } else { echo ” Forespørgslen returnerede ingen rækker ”; } } else { echo ” Forespørgslen fejlede... ”; } Validering af mysql_query()

Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 19 Ved validering af mysql-operationer kan man – hvis operationen fejler – få mysql-databasens egen fejlmeddelelse vha funktionen mysql_error(). Eksempel: function executeSQL($strSQL) { if (!$link = mysql_connect(......)) { echo " Ingen server. ". mysql_error()." "; return false; } else {... Se yderligere forklaring på Fejlmeddelelser med mysql_error()

Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 20 W2: PHP: MySQL: SQL: Online resourcer