Den 23. oktober 2003 afholdtes temaaften i http://www.macoestjylland.dk om brug af MYSQL og PHP:
På denne side gennemgås hvilken software du skal/kan bruge, men du kan også springe direkte til
Introduktion for nybegyndere samt kodeeksempler.
Hvis man vil i gang med PHP og MySQL er der 2 hæfter fra forlaget IDG som man kan have stor nytte af og som giver en god introduktion:
Start på PHP af Tomas G. Kristensen, ISBN: 87-7843-408-4
Start på SQL af F. D. Rolland, ISBN: 87-7843-169-7
Begge hæfter koster kr. 69,00 og kan findes i en nogenlunde velassorteret boghandel. De boghandlere som har EDB-litteratur, har dem på hylden.
Start på SQL er ikke en decideret MySQL vejledning men omhandler den måde SQL- databaser struktureres på, hvordan man laver forespørgsler, indsætter data m.v. - Structured Query Language.
PHP er et scripting sprog (til web), selv om det også kan anvendes standalone og som et selvstændigt programmeringssprog (via terminal).
Du skal også vide noget om html. Blandt andet hvordan man skriver korrekt kode - brug f.eks. XHTML 1.0.
Du kan se mere om de forskellige html-standarder og teste din kode på W3Cs (World Wide Web Consortium) hjemmeside http://www.w3.org/
MySQL er et databaseprogram, der også fungerer i sig selv via terminal (kommandopromt).
MySQL besår af to programmer en server og en klient. Med klienten kan man få adgang til alle MySQL-serverer uanset hvor de findes på WWW. Forudsætningen er, at man ved hvor de er (IP-adresse) og kender bruger og password.
Noget skræmmende. Det er derfor vigtigt at Apache-serveren er konfigureret rigtigt.
F.eks. må det ikke være muligt at vise et directory, ligesom en række andre forholdsregler skal iagttages.
For at få PHP+MySQL til at hænge sammen med publicering på web, skal man have adgang til en Apache server, et PHP-modul og en MySQL-server - for bl.a. at prøve det af man laver.
Hvis man har et OSX system er Apache installeret på forhånd. Apache slås til ved at aktivere web-deling under Deling i Systemindstillinger. PHP og MySQL skal så installeres.
Marc Liyange har compilet en række versioner til OSX som kan hentes fra http://www.entropy.ch/home/
Følg vejledningen om hvordan man installerer . Starten af MySQL kan være lidt tricky. Root-password har således ingenting at gøre med det man anvender på OSX eller linux. Det er bare et selvstændigt password til MySQL.
Du kan undgå en del af disse besværligheder ved at bruge de specifikke OSX programpakker som Aaron Faby har lavet og som kan downloades fra http://www.serverlogistics.com (freeware).
Hvis man læser de medfølgende installeringsmanualer kan intet gå galt - super.
Vigtigt! Hvis du bruger pakkerne fra ServerLogistics skal du huske at slå personlig-webdeling fra i Deling under Systemindstillinger.
Fordelen ved programpakkerne fra Aaron Faby er bl.a. at installeringen sker uafhængig af den standard Apache/php programpakke som leveres med OSX.
Man er således ikke sårbar overfor evt. OSX-systemopdateringer hvor man kan risikere at skulle installere php forfra.
Hvis man ikke har hardware der kan køre OSX, er alternativet at sætte en Linux-server op på noget ældre MAC hardware (PPC) og etablere et netværk, så man kan får fat i serveren.
Det kræver lidt kendskab til Unix-kommandoer (også relevant for brugen af terminal i OSX) http://wks.uts.ohio-state.edu/unix_course/ samt biblioteksstrukturen i Linux.
Men det er en lærerig og sjov oplevelse som du bør unde dig selv hvis du har tid!
Der findes flere distributioner til PPC - Mandrake, SuSe, FreeBSD, Debian. Selv bruger jeg YellowDogLinux http://www.yellowdoglinux.com
En tredie mulighed er at få et domæne hos en ekstern udbyder der tilbyder MySQL og PHP til en rimelig penge f.eks. http://web10.dk/
web10.dk hoster nogle af mine egne/servicerede domæner bl.a. http://saltet.dk og http://uzu.dk
PHP-understøttelsen er ikke komplet, men fuldt anvendelig til de mest almindelige ting.
Normalt vil man skulle administrere sin MySQL-server via klienten og med kommandoer/forespørgsler skrevet i en terminal.
Men der findes en rigtig god php-applikation (open source) til GUI-administration af MySQL http://www.phpmyadmin.net/
phpMyAdmin kører via en browser og lægges enten lokalt eller på serveren.
En anden GUI-mulighed til OSX er CocoaMySQL. Fordelen er at du fra din desktop på en gang kan få adgang til alle de MySQL-databaser du ønsker.
Du kan få mere og vide om CocoaMySQL på http://cocoamysql.sourceforge.net/ hvor den også kan downloades (freeware).
Skriv noget kode!
Man kommer ikke uden om, at det meste der skal laves med PHP og MySQL, skal laves i hånden. Hvilket også er en god øvelse, så får man en fornemmelse af hvad der foregår samt noget kunnen.
Der skal bruges en god teksteditor.
Mit foretrukne værktøj er BBEdit http://www.bbedit.com (proprietært software), men jeg har også gode erfaringer med jEdit http://jedit.org (open source)
jEdit er et rent Java-program og kan afvikles på alle platforme. Har via plugins, der kan downloades indefra programmet mange muligheder. Editering via FTP, Code2Html m.v. Kan også fungere som Java-compiler.
Den indbyggede TextEdit på OSX kan ikke bruges, da den gemmer i rtf-format.
Når man er godt i gang med PHP og MySQL er der et par vigtige ressourcer man får brug for http://php.net og http://www.mysql.com/
Her findes der dokumentation, opdateringer, nyheder, bruger input, m.v.
Der findes mirrors i Danmark (bla. hostet af http://www.boersen.dk) på http://dk.php.net/ og http://www.mysql.dk/
Hvis man begynder at arbejde mere professionelt får man brug for nogle bøger.
Dem findes der et hav af, og det er vanskeligt at vælge.
Jeg kan anbefale PHP Developer's Cookbook af Sterling Hughes ISBN 0-672-32325-7 og MySQL Cookbook af Paul Dubois ISBN 0-596-00145-2
Køb dem evt. via Saxo.com, som er billig og med en rimelig hurtig levering - http://www.saxo.com
På kurset/aftenen d. 23. oktober 2003 vil se på de mest almindelige ting som php og Mysql kan bruges til.
Illustreret med praktiske eksempler og dertil hørende kode.
Måske kan vi også nå at demonstrere mere avanceret anvendelse.
Konfigurering af Apache vil blive berørt, herunder anvendelsen af .htaccess og .htpasswd
Jens Smed