Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>PHP</strong><br />
<strong>gevorderd</strong>
<strong>PHP</strong> <strong>gevorderd</strong><br />
Inhoudsopgave<br />
Inleiding! 4<br />
Voorkennis voor <strong>PHP</strong> & SQL! 4<br />
De werking van een <strong>PHP</strong>-module op een webserver! 5<br />
String-bewerkingen! 6<br />
<strong>PHP</strong> str_replace () functie! 6<br />
<strong>PHP</strong> strlen () functie! 7<br />
Datum-bewerkingen! 10<br />
<strong>PHP</strong> datum()! 10<br />
Meer array mogelijkheden! 16<br />
Server Side Inclusions (SSI)! 21<br />
De include() functie! 21<br />
De require() functie! 21<br />
<strong>PHP</strong>_self als formulier-actie! 22<br />
<strong>PHP</strong> headers versturen! 23<br />
Acties pas na een klik uitvoeren! 23<br />
Folder functies! 24<br />
Meerder bestanden uit een map includen! 25<br />
Toepassingen! 26<br />
Toepassing1: Berekening met korting (if else)! 26<br />
Toepassing2a: Percentage berekening (for-loop)! 27<br />
Toepassing2b: Percentage berekening (while loop)! 28<br />
Toepassing3: Een groet op basis van het huidige tijd! 29<br />
Toepassing4: Arrays en tijd en datum gebruik! 29<br />
Toepassing5: Verschillende Arrays zoek acties! 29<br />
Toepassing6: Alfabetisch sorteren met arrays (for en if)! 31<br />
Toepassing7: Alfabetisch sorteren met arrays met functies! 33<br />
Toepassing8: Verschillende datum bewerkingen! 34<br />
Toepassing9: Score berekenen! 36<br />
© 2011 2
<strong>PHP</strong> <strong>gevorderd</strong><br />
Toepassing10: Gemiddelden berekenen uit een array! 37<br />
Toepassing11: Licentie controle! 38<br />
Toepassing12: Vul een iframe dmv een <strong>PHP</strong>-actie! 39<br />
Toepassing13: Header- mogelijkheden en keuze tussen CSS- bestanden! 40<br />
Toepassing14: Oppervlakte met afbeeldingen maken! 41<br />
© 2011 3
Inleiding<br />
Deze handleiding geeft de basis van <strong>PHP</strong>-programmeren. Het bevat tekst- (strings) en datum- en<br />
tijd-bewerkingen. Er worden tevens meer loops- en array- mogelijkheden toegelicht en in<br />
voorbeelden uitgewerkt. Ook het veilig maken en houden van de gegevens doormiddel komen aan<br />
bod.<br />
<strong>PHP</strong> <strong>gevorderd</strong><br />
De twee <strong>PHP</strong>- handleiding geven een goede basis voor het toepassen van <strong>PHP</strong> met de juiste<br />
gereedschappen om zelf meer functionaliteit aan een website toe te voegen.<br />
Het vinden van de juiste, simpele en eenduidige code voor een behoefte blijft een combi van: zelf<br />
bedenken of vinden in ander (online) handleidingen of forums. Na de twee beschikbare<br />
handleidingen en de juiste drive, zal het zeker moeten lukken :-)<br />
Voorkennis voor <strong>PHP</strong> <strong>gevorderd</strong><br />
Ervaring hebben met inzicht in het volgende moeten hebben:<br />
· HTML-code (en of XHTM).<br />
· Gebruik en installatie van een webservers en een databases<br />
(bijv: Apache als web-server, MySQL als database of gecombineerd in:<br />
XAMPP of MAMP)<br />
· Basiskennis van <strong>PHP</strong>.<br />
· Basis SQL-statements (query- syntax en database begrippen)<br />
© 2011 4
<strong>PHP</strong> <strong>gevorderd</strong><br />
De werking van een <strong>PHP</strong>-module op een webserver<br />
Ter opfrissing; <strong>PHP</strong> is een module die aan de server-kant werkt. De client krijgt uiteindelijk pure HTML-code<br />
toegestuurd waarmee een page wordt weergegeven. Hoe deze page tot stand is voor de client onzichtbaar.<br />
Hieronder staan wat gebeurt er als een php-webpagina wordt opvraagt door een client:<br />
1.<br />
Aan de client zijde wordt een verzoek<br />
gedaan naar een (php)webpagina op een<br />
bepaalde webserver, bijvoorbeeld:<br />
www.<strong>kerssies64.net</strong><br />
client<br />
7.<br />
De ontvangen code wordt<br />
ontvangen door de client.<br />
In de browser wordt deze<br />
omgezet in een leesbare<br />
pagina<br />
6.<br />
Het resultaat van de<br />
php-module wordt<br />
samengevoegd met<br />
eventueel aanwezige<br />
html-code. Deze code<br />
wordt door de<br />
webserver verstuurd<br />
naar de client<br />
2.<br />
De webserver zoekt deze pagina op<br />
in z’n filesysteem.<br />
3.<br />
Omdat het<br />
een .php pagina<br />
is, stuurt de<br />
webserver deze<br />
pagina naar de<br />
php-module.<br />
Deze module<br />
moet op de<br />
webserver zijn<br />
geïnstalleerd<br />
4.<br />
De php-module<br />
benaderd een<br />
database en voert<br />
hierop acties uit en<br />
geeft evt waarden<br />
terug<br />
webserver<br />
.php<br />
php-module<br />
5.<br />
De php-module<br />
voert het phpscript<br />
uit en geeft<br />
het resultaat terug<br />
aan de webserver<br />
© 2011 5
String-bewerkingen<br />
Er zijn veel bewerkingen mogelijk op teksten (strings). Enkele worden in een voorbeeld<br />
weergegeven. Daarnaast worden van veel gebruikte bewerkingen de syntax en een beschrijving<br />
gegeven.<br />
<strong>PHP</strong> str_replace () functie<br />
De str_replace () functie vervangt sommige karakters met een andere karakters in een string.<br />
Deze functie werkt door de volgende regels:<br />
· Als het te zoeken string een serie is, keert het een serie terug<br />
· Als het te zoeken string een serie is, vind en vervang wordt gepresteerd met elk serieelement<br />
· Als allebei vinden en zijn series, en vervangen hebben minder elementen dan vinden vervangen, zal<br />
een leeg string worden gebruikt zoals vervangen<br />
· Als de vondst een serie is en is een string vervangt, vervang string zal voor elke vondstwaarde<br />
worden gebruikt<br />
Syntaxis<br />
str_replace (vind, vervang, string, telling_aantal_gevonden)<br />
Let op: Deze functie is case-sensitive. gebruik str_ireplace () om een case-insensitive onderzoek<br />
uit te voeren.<br />
<strong>PHP</strong> <strong>gevorderd</strong><br />
Nota: Deze functie is binair-veilig.<br />
Voorbeeld 1:<br />
Voorbeeld 3:<br />
In dit voorbeeld wordt str_replace () gebruikt om tekst in een array te veranderen<br />
<br />
De output van de code zal zijn:<br />
Array<br />
(<br />
[0] => kerssies64<br />
[1] => the best<br />
[2] => applying knowlegde<br />
)<br />
<strong>PHP</strong> strlen () functie<br />
Strlen () functie geeft de lengte van een string terug. Dus, het aantal karakters wordt geteld<br />
Syntaxis<br />
strlen(string)<br />
Voorbeeld:<br />
Hieronder volgt een tabel met string- beweringen met de syntax en een beschrijving. NB: Grijze<br />
tekst in de syntax is optioneel.<br />
Bewerking Syntax en beschrijving<br />
str_repeat() str_repeat(string,aantal-herhalingen)<br />
string een aantal maal herhalen<br />
substr_count() substr_count(string,substring,start-pos,lengte)<br />
tel het aantal maal dat een string in een andere string<br />
voorkomt.<br />
str_ireplace() str_ireplace(vind,vervang,string,aantal vervangingen)<br />
vervangt een karakter in een string<br />
strstr() strstr(string,zoek)<br />
geeft de rest van de string na de gezochte string weer<br />
stristr() stristr(string,zoek)<br />
geeft het gezochte word en de rest van de string weer.<br />
str_split() str_split(string,aantal-karakters)<br />
plaatst gropejes karakters van een string in een array<br />
str_word_count() str_word_count(string,return,char)<br />
return:<br />
0 - Standaard. Aantal woorden dat gevonden is<br />
1 – Geeft een array met de woorden uit de string<br />
2 – Geeft een array waarbij de key [x] een waarde bevat van<br />
de karakter-positie in de string<br />
explode() explode(scheidings-karakterer,string,max aantal array-keys)<br />
join()<br />
implode()<br />
<strong>PHP</strong> <strong>gevorderd</strong><br />
Breekt een string op in een array<br />
join(scheidingsteken,array)<br />
implode(scheidingsteken,array)<br />
Combineert array warden tot een string. Standard<br />
scheidingsteken is een ‘spatie’<br />
strncmp() strcasecmp(string1,string2)<br />
vergelijk twee strings en geeft het aantal afwijkende karakters<br />
© 2011 8
Bewerking Syntax en beschrijving<br />
chop()<br />
<strong>PHP</strong> <strong>gevorderd</strong><br />
chop(string,charlist)<br />
rtrim()<br />
haalt speciale tekens achter een string weg; bijv: \0, \n, \r, \t<br />
of “ “<br />
strtolower() strtolower(string)<br />
string naar kleine letters<br />
strtoupper() strtoupper(string)<br />
string naar grote letters<br />
ucfirst() ucfirst(string)<br />
De eerste letter in een string word teen hoofdletter<br />
ucwords() ucwords(string)<br />
elke eerste letter van een word in een string naar een<br />
hoofdletter<br />
money_format() money_format(string,number)<br />
maakt van een string een geldbedrag met eenheid ervoor<br />
Voor meer bewerkingen wordt verwezen naar andere (online) handleidingen.<br />
© 2011 9
Datum-bewerkingen<br />
Naast string functies zijn er uiteraard ook functies nodig om datum en tijd gegevens op te vragen<br />
en bewerken. Uiteraard zullen ook met data en tijdstippen berekeningen gemaakt worden.<br />
Timestamp<br />
<strong>PHP</strong> <strong>gevorderd</strong><br />
Timestamp is het aantal seconden dat sinds 1 Januari, 1970 bij 00:00: 00 GMT gepasseerd zijn.<br />
Dit wordt ook wel de Unix-timestamp genoemd.<br />
<strong>PHP</strong> datum()<br />
De datum () functie specificeert welk format data en/of tijd krijgen. Het gebruikt karakters om<br />
datum en tijdformaten aan te geven.<br />
datum (formaat, optie-timestamp)<br />
formaten voor datum en tijd zijn hieronder met een letter weergegeven:<br />
· D - de dag van de maand (van 01 tot 31)<br />
· D - een tekstuele vertegenwoordiging van een dag (drie brieven)<br />
· j - de dag van de maand zonder belangrijke nul (1 tot 31)<br />
· l - („L in kleine letters“) - een volledige tekstuele vertegenwoordiging<br />
· van een dag<br />
· N - Numerieke vertegenwoordiging ISO-8601 van een dag<br />
· (1 voor Maandag door 7 voor Zondag)<br />
· S - het Engelse rangschikkende achtervoegsel voor de dag van de maand<br />
· (2 karakters st, Nd, rd of Th. De werken goed met j)<br />
· w - een numerieke vertegenwoordiging van de dag<br />
· (0 voor Zondag door 6 voor Zaterdag)<br />
· z - de dag van het jaar (van 0 door 365)<br />
· W - het ISO-8601 weekaantal jaar (weken die op Maandag beginnen)<br />
· F - een volledige tekstuele vertegenwoordiging van een maand<br />
· (Januari door December)<br />
· m - een numerieke vertegenwoordiging van een maand (van 01 tot 12)<br />
· M - een korte tekstuele vertegenwoordiging van een maand (drie brieven)<br />
· n - een numerieke vertegenwoordiging van een maand,<br />
· zonder belangrijke nul (1 tot 12)<br />
· t - het aantal dagen in de bepaalde maand<br />
· L - of het een schrikkeljaar is (1 als het een schrikkeljaar is, 0 anders)<br />
· o - het ISO-8601 jaaraantal<br />
· Y - een vier cijfervertegenwoordiging van een jaar<br />
· y - een vertegenwoordiging met twee cijfers van een jaar<br />
· a - am of p.m. In kleine letters<br />
· A - AM of PM In hoofdletters<br />
· B - de tijd van Internet van het Monster (000 tot 999)<br />
· g - 12 uurformaat van een uur (1 tot 12)<br />
· G - het formaat van 24 uur van een uur (0 tot 23)<br />
· h - 12 uurformaat van een uur (01 tot 12)<br />
· H - het formaat van 24 uur van een uur (00 tot 23)<br />
· i - minuten met een nul (00 tot 59)<br />
· s - seconden, met een nul (00 tot 59)<br />
· e - het timezone herkenningsteken<br />
· (Voorbeelden: UTC, Atlantische Oceaan/de Azoren)<br />
© 2011 10
· I (hoofdletter i) - of de datum in de tijd is van zomertijd<br />
· (1 als Zomertijd, 0 anders)<br />
· O - Verschil aan de tijd van Greenwich (GMT) in uren (Voorbeeld: +0100)<br />
· T - het plaatsen Timezone van de <strong>PHP</strong> machine (Voorbeelden: EST, MDT)<br />
· Z - Timezone die in seconden wordt gecompenseerd.<br />
· De compensatie ten westen van UTC is negatief,<br />
· en het compensatieoosten van UTC is positief (- 43200 tot 43200)<br />
· c - ISO-8601 dateren (b.v. 2004-02-12T15: 19: 21+00: 00)<br />
· r - de geformatteerde datum RFC 2822<br />
· (b.v. Thu, 21 het 16:01 van Dec 2000: 07 +0200)<br />
· U - de seconden dat het Tijdvak van Unix<br />
· (1 Januari het 00:00 van 1970: 00 GMT)<br />
Datum en tijd mogelijkheden:<br />
<br />
De uitkomst toen. (een mogelijke resultaat):<br />
Resultaten met date():<br />
Tuesday<br />
Tuesday 24th of January 2006 02:41:22 PM<br />
Okt 3,2008 was een Friday<br />
Tue, 24 Jan 2006 14:41:22 CET<br />
2008-10-03T00:00:00+0100<br />
Resultaat van gmdate():<br />
Tuesday<br />
Tuesday 24th of January 2006 01:41:22 PM<br />
Okt 3,2008 was een Thursday<br />
Tue, 24 Jan 2006 13:41:22 GMT<br />
2008-10-02T23:00:00+0000<br />
Een voorbeeld van idate():<br />
<br />
Het resultaat:<br />
2008<br />
<strong>PHP</strong> <strong>gevorderd</strong><br />
© 2011 11
<strong>PHP</strong> <strong>gevorderd</strong><br />
Format opties:<br />
· B - het Monster slaat/de Tijd van Internet<br />
· D -dag van de maand<br />
· h - Uur (12 uurformaat)<br />
· H - Uur (24 uurformaat)<br />
· i - Notulen<br />
· I - winst 1 als DST (zomertijd), 0 anders wordt geactiveerd<br />
· L - winst 1 voor schrikkeljaar, 0 anders<br />
· m - het aantal van de Maand<br />
· s - Seconden<br />
· t - Dagen in huidige maand<br />
· U - Seconden sinds het Tijdvak van Unix<br />
· (1 Januari het 00:00 van 1970: 00 GMT)<br />
· w - Dag van de week (Sunday=0)<br />
· W - ISO-8601 weekaantal jaar (weekbegin op Maandag)<br />
· y - Jaar (1 of 2 cijfers)<br />
· Y - Jaar (4 cijfers)<br />
· z - Dag van het jaar<br />
· Z - Timezone die in seconden wordt gecompenseerd<br />
Script met het plaatsen van de huidige tijd in een variabele, waarna het in een echo wordt<br />
weergegeven:<br />
<br />
Het resultaat is:<br />
1138618081<br />
Mon January 30 2006<br />
Meer datum bewerkingen staan in het hoofdstuk ‘Toepassingen’.<br />
© 2011 12
<strong>PHP</strong> <strong>gevorderd</strong><br />
Hieronder volgt een tabel met string-beweringen met de syntax en een beschrijving. NB: Grijze<br />
tekst in de syntax is optioneel.<br />
Bewerking Syntax en beschrijving<br />
checkdate() checkdate(maand,dag,jaar)<br />
controleert de datum op mbt juiste waarden, geeft:<br />
true of false<br />
date_default_timezone_get date_default_timezone_get(void)<br />
()<br />
geeft de tijdszone terug in tekst<br />
date_default_timezone_set date_default_timezone_set(timezone)<br />
()<br />
verander de tijdszone. Bijv: "Europe/Paris"<br />
date() date(format,timestamp)<br />
zet de huidige datum en/of tijd<br />
getdate() getdate(timestamp)<br />
Plaatst systeem datum en tijd gegevens in een array<br />
met benoemde elementen<br />
[seconds] - seconden<br />
[minutes] - minuten<br />
[hours] - uren<br />
[mday] – dag van de maand<br />
[wday] - dag van de week<br />
[year] - jaar<br />
[yday] – dag van het jaar<br />
[weekday] – weekdag, zoals: monday (maandag)<br />
[month] - naam van de maand<br />
gettimeofday() gettimeofday(return_float)<br />
geeft een array met huidige tijdsindicaties<br />
[sec] - seconden since de Unix tijdvak<br />
[usec] - microseconden<br />
[minuteswest] - minuten west van Greenwich<br />
[dsttime] - type voor dst correction<br />
idate() idate(format,timestamp)<br />
Zet een locale tijd al seen integer<br />
mktime() mktime<br />
(uur,minuut,seconde,maand,dag,jaar,daylightSavingTi<br />
me)<br />
berekend de juiste datum en tijd bij foutieve invoer.<br />
date("M-d-Y",mktime(0,0,0,14,1,2001))<br />
© 2011 13
<strong>PHP</strong> <strong>gevorderd</strong><br />
Bewerking Syntax en beschrijving<br />
strftime() strftime(format,timestamp)<br />
Zet de locale tijd in een eigen format<br />
%a - afgekorte weekdag naam<br />
%A - volledige weekdag naam<br />
%b - afgekorte maand naam<br />
%B - volledige maand naam<br />
%c - aangewezen datum en tijdvertegenwoordiging<br />
%C - eeuwaantal (het jaar dat door 100 wordt verdeeld, van 00 tot<br />
99)<br />
%d -dag van de maand (01 tot 31)<br />
%D - zelfde zoals %m/%d/%y<br />
%e - dag van de maand (1 tot 31)<br />
%g - als %G, maar zonder de eeuw<br />
%G - jaar dat met 4 digits aan het de weekaantal beantwoordt van<br />
ISO<br />
(zie %V).<br />
%h - zelfde zoals %b<br />
%H - uur, dat een 24 uur klok gebruikt (00 tot 23)<br />
%I - uur, dat een 12 uur klok gebruikt (01 tot 12)<br />
%j - dag van het jaar (001 tot 366)<br />
%m - maand (01 tot 12)<br />
%M - minuut<br />
%n - newline karakter<br />
%p - am of pm. volgens de huidige tijd<br />
%r - tijd met am- of pm-aantekening<br />
%R - tijd in 24 uur notering<br />
%S - seconde<br />
%t – het tab karakter<br />
%T - huidige tijd, gelijk aan %H: %M: %S<br />
%u - weekdag als aantal (1 tot 7), Monday=1. Het waarschuwing:<br />
In Sun Solaris Sunday=1<br />
%U - weekaantal van het huidige jaar, om te beginnen met de eerste<br />
Zondag als eerste dag van de eerste week<br />
%V - ISO 8601 weeknummer van het huidige jaar (01 tot 53), waarbij<br />
week 1 de eerste week is die minstens 4 dagen in het huidige<br />
jaar is, en met maandag als eerste dag van de week heeft<br />
%W - weeknummer van het huidige jaar, dat begint met een<br />
maandag als eerste dag van de eerste week<br />
%w - dag van de week als decimaal, Sunday=0<br />
%x - aangewezen datumvertegenwoordiging zonder de tijd<br />
%X - aangewezen tijdvertegenwoordiging zonder de datum<br />
%y - jaar zonder een eeuw (van 00 tot 99)<br />
%Y - jaar met inbegrip van de eeuw<br />
%Z of %z - tijdzone of naam of afkorting<br />
%% - letterlijk het %-karakter<br />
time() time(void)<br />
Geeft de huidige datum en tijd terug<br />
© 2011 14
<strong>PHP</strong> <strong>gevorderd</strong><br />
Bewerking Syntax en beschrijving<br />
strptime() strptime(date,format)<br />
Geeft een array terug met delen van datum en tijd<br />
[tm_sec] - seconden (0-61)<br />
[tm_min] - minuten (0-59)<br />
[tm_hour] - uur (0-23)<br />
[tm_mday] - dag van de maand (1-31)<br />
[tm_mon] - maanden sinds Januari (0-11)<br />
[tm_year] - jaren sinds 1900<br />
[tm_wday] - dagen sinds Zondag (0-6)<br />
[tm_yday] - dagen sinds 1 Januari (0-365)<br />
[unparsed] - het datumdeel dat niet werd herkend<br />
Voor meer bewerkingen wordt verwezen naar andere (online) handleidingen.<br />
Voorbeelden:<br />
Check op tijd, waarna er een begroeting volgt:<br />
<br />
<br />
<br />
<br />
<br />
Datum-functies uit een array:<br />
<br />
<br />
<br />
<br />
<br />
© 2011 15
<strong>PHP</strong> <strong>gevorderd</strong><br />
Meer array mogelijkheden<br />
De arrays (series) zijn meerdere waarden in één variabele, die ook bewerkt kunnen worden met<br />
functies. <strong>PHP</strong> ondersteunt zowel eenvoudige als multi - dimensionele arrays. Veel speciale arrays<br />
die veel gebruikt worden zijn $_GET en $_POST.<br />
Voor eigen arrays volgen hieronder een lijst met array-functies:<br />
Bewerking Syntax en beschrijving<br />
array() array(sleutel => waarde)<br />
Maakt een array aan<br />
$a=array("a"=>"Rood","b"=>"Wit","c"=>"Blauw");<br />
$a=array("Rood","Wit","Blauw");<br />
array_chunk() array_chunk(array,grootte,behoud_key)<br />
Splits teen array op in blokken<br />
print_r(array_chunk($array,2));<br />
print_r(array_chunk($array,2,true));<br />
array_combine() array_combine(array1,array2)<br />
Voegt twee arrays samen<br />
print_r(array_combine($array1,$array2));<br />
array_count_values() array_count_values(array)<br />
Telt hoe vaak warden voorkomen<br />
print_r(array_count_values($array));<br />
array_diff() array_diff(array1,array2,array3...)<br />
Vergelijt arrays tov de eerste en geeft welek niet<br />
voorkomen<br />
print_r(array_diff($array1,$aarray2,array3));<br />
array_diff_assoc() array_diff_assoc(array1,array2,array3...)<br />
Vergelijkt arrays tov elkaar<br />
print_r(array_diff_assoc($array1,$array2,…));<br />
array_diff_ukey() array_diff_ukey(array1,array2,array3...,<br />
functie)<br />
Vergelijkt array keys tov de eerste array<br />
array_fill() array_fill(start,aantal,waarde)<br />
Vult een aantal elementen van array met warden<br />
$a=array_fill(2,3,"Oranje");<br />
array_filter array_filter(array,functie)<br />
Filtert waarden uit een array op basis van eeen eigen<br />
functie<br />
© 2011 16
<strong>PHP</strong> <strong>gevorderd</strong><br />
Bewerking Syntax en beschrijving<br />
array_flip() array_flip(array)<br />
Verwisselt de elementwaarden en de sleutels in een array<br />
array_intersect() array_intersect(array1,array2,array3...)<br />
Vergelijkt arraywaarden tov van de eerste array en geeft de<br />
waarden en de sleutel<br />
Variaties:<br />
_assoc, _key, _uassoc en _ukey<br />
array_key_exist() array_key_exists(sleutel,array)<br />
Controleert of een sleutel in een array bestaat<br />
array_keys() array_keys(array,value)<br />
Geeft een array met de sleutels van een gegeven array<br />
array_map() array_map(function,array1,array2,...)<br />
Stuurt elke waarde in array(s) naar een eigen functie<br />
array_merge() array_merge(array1,array2,array3...)<br />
Voegt arrays samen met nieuwe sleutels<br />
array_merge_recursiv<br />
e()<br />
array_merge_recursive(array1,array2,array3...)<br />
Voegt arrays samen, bij dubbele sleutel komt er en nieuwe<br />
sub-array die de dubbele waarden bevat<br />
Array (<br />
[a] => Rood<br />
[b] => Array ( [0] => Wit [1] => Oranje )<br />
[c] => Blauw<br />
)<br />
Array_multisort() array_multisort(array1,sortering,sortingstype,array2,...)<br />
sortering:<br />
· SORT_ASC standaard. A-Z<br />
· SORT_DESC. Z-A<br />
type:<br />
· SORT_REGULAR standaard.<br />
· SORT_NUMERIC<br />
· SORT_STRING<br />
Array_pad() array_pad(array,aantal_elementen,start_element)<br />
neemt een gespecificeerd aantal elementen, met een<br />
gespecificeerde waarde, in een array op.<br />
print_r (array_pad ($array, 5.0));<br />
© 2011 17
<strong>PHP</strong> <strong>gevorderd</strong><br />
Bewerking Syntax en beschrijving<br />
array_pop() array_pop(array)<br />
Verwijdert het laatste element van een array<br />
array_product() array_product(array)<br />
Berekent het product van de waarden (cijfers) in een<br />
array<br />
array_push() array_push(array,waarde1,waarde2...)<br />
Plaatst één of meerdere elementen aan het eind van een<br />
array<br />
array_rand() array_rand(array,aantal)<br />
Geeft één of meerdere willekeurige sleutels van een<br />
array terug<br />
array_reduce() array_reduce(array,functie,initieel)<br />
Geeft een array-waarde terug in een string, doormiddel<br />
van een gebruiker- gedefinieerde functie<br />
array_reverse() array_reverse(array,bewaar_sleutel)<br />
Geeft een array in de omgekeerde orde terug.<br />
Bewaar_sleutel: true / false<br />
array_search() array_search(waarde,array,strict)<br />
Zoekt in een array naar een bepaalde waarde en geeft de<br />
sleutel terug.<br />
Strict: true / false (standaard) voor cijfers.<br />
array_shift() array_shift(array)<br />
Verwijdert het eerste element uit een array, en geeft de<br />
waarde van het verwijderde element terug<br />
array_slice() array_slice(array,start_sleutel,lengte,bewaar)<br />
Selecteerd geselecteerde delen uit een array<br />
Bewaar: true / false (standaard) – om de sleutel te<br />
behouden<br />
array_splice() array_splice(array,start,lengte,arraynieuw)<br />
Verwijdert gespecificeerde elementen van een array en<br />
vervangt ze met waarden uit een ander array<br />
array_splice($a1,0,3,$a2);<br />
array_sum() array_sum(array)<br />
Geeft de som in een array- waarden (cijfers) terug<br />
array_udiff() array_udiff(array1,array2,array3..,functie)<br />
Vergelijkt array- waarden in een gebruiker-gemaakte<br />
functie en geeft een array terug<br />
array_udiff_assoc()<br />
array_udiff_uassoc()<br />
array_uintersect()<br />
array_uintersect_assoc()<br />
array_uintersect_uassoc<br />
()<br />
array_udiff_assoc(array1,array2,array3...,<br />
functie)<br />
Vergelijkt seriesleutels, en vergelijkt array- waarden in<br />
een gebruiker-gemaakte functie, en geeft een array<br />
terug<br />
array_uintersect(array1,array2,array3...,<br />
functie)<br />
Vergelijkt seriewaarden in een gebruiker-gemaakte<br />
functie (geeft een cijfer terug) en geeft een array terug<br />
met de verschillen<br />
array_unique() array_unique(array)<br />
Verwijdert dubbele waarden uit een array<br />
© 2011 18
Bewerking Syntax en beschrijving<br />
array_unshift() array_unshift(array,waarde1,waarde2,waarde3...)<br />
Voegt één of meerdere elementen aan het begin van een<br />
array toe en vervangt de elementnummers<br />
array_values() array_values(array)<br />
Geeft alle waarden uit een array terug in een nieuwe array<br />
array_walk() array_walk(array,function,parameter...)<br />
Past een gebruikersfunctie op elke waarde van een array<br />
toe<br />
Parameter om een eigen waarde mee te nemen.<br />
function zien($waarde,$sleutel,$p)<br />
{ echo "$sleutel $p $value";}<br />
$a=array("a"=>"H","b"=>"Q","c"=>"1");<br />
array_walk($a,"zien","met de waarde");<br />
array_walk_recursive<br />
()<br />
array_walk_recursive(array,functie,<br />
parameter)<br />
Past een gebruikersfunctie op elk onderdeel van een array<br />
toe voor de sleutels en hun waarden. Ook diepere arrays<br />
zijn met deze functie mogelijk (array in een array)<br />
arsort() arsort(array, sorteertype)<br />
Sorteert een array- waarden in omgekeerde volgorde en<br />
behoudt de indexvolgorde.<br />
Sorteert een serie in omgekeerde orde<br />
· SORT_REGULAR - Standaard.<br />
· SORT_NUMERIC<br />
· SORT_STRING<br />
SORT_LOCALE_STRING<br />
waarden in locale settings.<br />
asort() asort(array, sorteertype)<br />
Sorteert een array en behoudt de indexvolgorde<br />
compact() compact(var1,var2...)<br />
Maakt een array die variabelen en hun waarden.<br />
$vnaam = "Peter";<br />
$anaam = "Klaasen";<br />
$leeft= "35";<br />
$r= compact("vnaam", "anaam", "leeft");<br />
print_r($r);<br />
count()<br />
sizeof()<br />
<strong>PHP</strong> <strong>gevorderd</strong><br />
sizeof(array1,array2,mode)<br />
Telt het aantal elementen in een array, of eigenschappen in<br />
een object<br />
· 0 - Default. Ziet geen multidimensional arrays<br />
(arrays in arrays)<br />
· 1 – Ziet wel multidimensional arrays<br />
Geeft het huidige element in een array terug<br />
current()<br />
pos ()<br />
each() Geeft het huidige sleutel en waardepaar van een serie terug<br />
end() Plaatst de interne wijzer van een serie aan zijn laatste<br />
element<br />
extract() De variabelen van de invoer in de huidige symboollijst van<br />
een serie<br />
© 2011 19
<strong>PHP</strong> <strong>gevorderd</strong><br />
Bewerking Syntax en beschrijving<br />
in_array() Controleert als een gespecificeerde waarde in een serie<br />
bestaat<br />
key() Haalt een sleutel van een serie.<br />
krsort() krsort(array,sorteertype)<br />
Sorteert een array op de sleutel in omgekeerde volgorde.<br />
ksort() ksort(array, sorteertype)<br />
Sorteert een serie op de sleutel.<br />
list() list(var1,var2...)<br />
Wijst variabelen uit een array toe aan een lijst.<br />
list($a, $b, $c) = $mijn_array;<br />
natcasesort() natcasesort(array)<br />
Sorteert een array met het “natuurlijke algoritme” en<br />
behoud de sleutels-waarden. Hoofdlettergevoelig<br />
natsort() natsort(array)<br />
Sorteert een array met het “natuurlijke algoritme” en<br />
behoud de sleutels-waarden.<br />
next() next(array)<br />
Verplaatst de interne arraywijzer naar de volgende positie.<br />
echo current($variabele);<br />
echo next($variabele);<br />
prev () prev(array)<br />
Verplaatst de interne arraywijzer terug.<br />
range() range(low,high,step)<br />
Maakt een array die specifieke elementen bevat.<br />
$waarden = range(0,5);<br />
reset() reset(array)<br />
Plaatst de interne wijzer van een array naar het eerste<br />
element.<br />
rsort () rsort(array, sorteertype)<br />
Sorteert een serie in omgekeerde orde<br />
· SORT_REGULAR - Standaard.<br />
· SORT_NUMERIC<br />
· SORT_STRING<br />
· SORT_LOCALE_STRING waarden in locale settings.<br />
shuffle() shuffle(array)<br />
Schuifelt een array in een willekeurige volgorde.<br />
sort() sort(array, sorteertype)<br />
Sorteert een array.<br />
uasort() uasort(array, sorteertype)<br />
Sorteert array- waarden met een gebruiker- gedefinieerde<br />
functie en behoudt indexvereniging.<br />
uksort() uksort(array, sorteertype)<br />
Sorteert array sleutels met een gebruiker- gedefinieerde<br />
functie en behoudt indexvereniging.<br />
usort() usort(array, sorteertype)<br />
Sorteert array sleutels met een gebruiker- gedefinieerde<br />
functie en behoudt indexvereniging.<br />
Voor meer bewerkingen wordt verwezen naar andere (online) handleidingen.<br />
© 2011 20
Server Side Inclusions (SSI)<br />
SSI wordt gebruikt om functies, headers, footers en elementen te maken die in meerdere pages<br />
wordt hergebruikt.<br />
Het is mogelijk om de inhoud van een bestand te importeren in <strong>PHP</strong>, voordat de rest van het <strong>PHP</strong>-<br />
script wordt uitgevoerd. Dit kan veel tijd en wijzigingsgemak geven.<br />
De include() functie<br />
In de onderstaande HTML- code wordt een <strong>PHP</strong>- bestand ingevoegd:<br />
<br />
<br />
<br />
Welkom op <strong>kerssies64.net</strong><br />
Tekst in een pragraaf<br />
<br />
<br />
menu.php bevat de volgende code:<br />
<br />
<br />
Home |<br />
Over Ons |<br />
Contact<br />
<br />
<br />
Het is mogelijk om het menu ook in andere web- of php- pages op te vragen.<br />
De require() functie<br />
De require functie is gelijk aam de include functie, maar gaat anders om met fouten.<br />
Include geeft een waarschuwing, terwijl de require een fatal-error geeft. Het script stopt direct...<br />
<br />
<br />
<br />
<br />
<br />
<strong>PHP</strong> <strong>gevorderd</strong><br />
Beide geven een melding, maar de require functie zal de echo niet meer uitvoeren, terwijl de<br />
include functie dit wel zal doen<br />
© 2011 21
<strong>PHP</strong>_self als formulier-actie<br />
In de volgende code wordt getoont hoe een html-formulier niet een specifiek bestand aanroept om<br />
via POST of GET zijn waarden aan af te geven maar met $<strong>PHP</strong>_SELF<br />
<br />
<br />
<br />
Persoonlijke INFO<br />
<br />
<br />
<strong>PHP</strong> headers versturen<br />
Een php-header maakt het mogelijk om een website, eigen web-page of document aan te roepen<br />
in plaats van META te gebruiken. Door gebruik te maken van de functie header() kunnen sessies<br />
worden behouden.<br />
!!! De functie header() kan alleen worden aangeroepen voordat de browser gegevens op het<br />
scherm heeft gezet. Dus, voor de html-tag of een php-echo of -print actie.<br />
header('Location: http://www.voorbeeld.com/');<br />
of<br />
header('Location: map/bestand.php’);<br />
Acties pas na een klik uitvoeren<br />
In heel veel gevallen moet er pas iets worden weergegeven in een web-page wanneer er op een<br />
submit-knop is geklikt, waarna andere weergaves juist verdwijnen. Dit kan je met de volgende<br />
code doen waarin de functie isset() is gebruikt:<br />
<br />
<strong>PHP</strong> <strong>gevorderd</strong><br />
if (isset($_POST[submitknop]))<br />
{<br />
echo “de knop is geklikt”;<br />
}<br />
if ( ! isset($_POST[submitknop]))<br />
{<br />
echo “de knop is NIET geklikt”;<br />
}<br />
© 2011 23
<strong>PHP</strong> <strong>gevorderd</strong><br />
Folder functies<br />
De folderfuncties staat toe om informatie over folders en hun inhoud op te vragen. Dit kan omdat<br />
<strong>PHP</strong> op de server werkt. Er is geen installatie nodig om deze functies te gebruiken. JavaScript kan<br />
geen gegevens opvragen van de server, omdat dat script aan de client-kant wordt uitgevoerd.<br />
Functie Beschrijving<br />
chdir () chdir(andere_map)<br />
Verandert de huidige folder<br />
chdir("afbeelding");<br />
chroot () chroot (map)<br />
Verandert de root-folder van het huidige proces<br />
dir () dir(map)<br />
Opent een folder en keert een object terug<br />
$dir = dir("afbeelding");<br />
opendir () opendir(map,context)<br />
Opent een folder behandeling<br />
opendir($map);<br />
closedir () closedir(map_stroom)<br />
Sluit een folder behandeling<br />
closedir($map);<br />
getcwd () getcwd()<br />
Keert de huidige folder terug<br />
echo getcwd();<br />
Functie Beschrijving<br />
readdir () readdir(map_stroom)<br />
Keert een ingang van een folder behandeling terug<br />
while (($bestand = readdir($map)) !== false)<br />
rewinddir () rewinddir(map_stroom)<br />
Stelt een folder behandeling terug (reset)<br />
rewinddir($map);<br />
scandir () scandir(dmap,sortering,context)<br />
Geeft een lijst met de bestanden en folders in een<br />
folder<br />
print_r(scandir("afbeelding"));<br />
voorbeelduitkomst:<br />
Array<br />
(<br />
[0] => .<br />
[1] => ..<br />
[2] => Apple.jpg<br />
[3] => Linux.jpg<br />
[4] => MS.gif<br />
)<br />
Voor het gebruik van deze functies en meer folder-functies wordt verwezen naar andere (online)<br />
handleidingen.<br />
© 2011 24
Een stukje code om de inhoud van een map weer te geven:<br />
<br />
<br />
<br />
Het resultaat ziet er dan zo:<br />
filename: .<br />
filename: ..<br />
filename: Apple.gif<br />
filename: Linux.gif<br />
filename: werk_in_uitvoering.jpg<br />
filename: Windows.gif<br />
Door een if toe te voegen in de while-loop kunnen de punt en dubbele-punt worden verwijdert.<br />
Meerder bestanden uit een map includen<br />
Wanneer er meerder bestanden geinclude moeten worden, is het omslachtig om elk bestand apart<br />
aan te roepen. Het is eenvoudiger om een specifieke map aan te roepen en alle bestanden daarin<br />
include. Dit kan als volgt:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
include alle bestanden in een folder<br />
<br />
<br />
<strong>PHP</strong> <strong>gevorderd</strong><br />
© 2011 25
Toepassingen<br />
Toepassing1: Berekening met korting (if else)<br />
De code berekent een te betalen bedrag met of zonder korting. De php- page met de naam<br />
index.php in de publicatie folder van de webserver en bevat de volgende code:<br />
<br />
<br />
LaserShoot <br />
<br />
<br />
<br />
<br />
LaserShoot Rekening<br />
kosten 14,50 / uur (lidmaatschapskorting 10%)<br />
Aantal personen:<br />
<br />
Aantal uur:<br />
<br />
Lidmaatschapskaart:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<strong>PHP</strong> <strong>gevorderd</strong><br />
}<br />
$korting ="ja";<br />
$kosten = (14.50*$aantal*$uren*0.9);<br />
else<br />
{<br />
$korting ="nee";<br />
$kosten = (14.50*$aantal*$uren);<br />
}<br />
echo '';<br />
echo "de kosten zijn voor $aantal personen voor $uren uur zijn: ";<br />
echo round($kosten);<br />
echo "de korting is: $korting";<br />
echo "";<br />
© 2011 26
Toepassing2a: Percentage berekening (for-loop)<br />
De code vraagt om een jaarlijkse inleg, looptijd en een rente percentage.<br />
Uitkomst is een geldbedrag dat na het einde van de looptijd uitgekeerd moet worden.<br />
De html- page (index.html) in de publicatie folder van de webserver bevat de volgende code:<br />
<br />
<br />
Rente berekening<br />
<br />
<br />
<br />
<br />
Bereken van de totale rente over een gestelde periode<br />
Voer aantal jaar in: <br />
Voer rente in: <br />
Voer jaarlijkse inleg in:<br />
<br />
<br />
<br />
<br />
<br />
<br />
De php-page (rente.php) in de publicatie folder van de webserver bevat de volgende code:<br />
<br />
Rente berekening<br />
<br />
<br />
Rente berekenen<br />
<br />
<br />
<br />
<strong>PHP</strong> <strong>gevorderd</strong><br />
© 2011 27
Toepassing2b: Percentage berekening (while loop)<br />
De zelfde berekening, maar nu wordt er in plaats van een for-loop een while-loop gebruikt in de<br />
Het formulier kan er zo uitzien:<br />
<br />
<br />
Rente berekening<br />
<br />
<br />
<br />
<br />
Bereken van de totale rente over een gestelde periode<br />
Voer aantal jaar in:<br />
Voer rente in: <br />
Voer jaarlijkse inleg in:<br />
<br />
<br />
<br />
<br />
<br />
<br />
php-code:<br />
<br />
<br />
Rente berekening <br />
<br />
<br />
Rente berekenen<br />
<br />
<br />
<br />
<strong>PHP</strong> <strong>gevorderd</strong><br />
© 2011 28
Toepassing3: Een groet op basis van het huidige tijd<br />
De volgende php-page (index tijd.php) bepaald op basis van de huidige tijd welke groet gegeven<br />
moet worden. In de publicatie folder van de werbserver bevat het bestand de volgende code:<br />
<br />
<br />
<br />
<br />
<br />
Toepassing4: Arrays en tijd en datum gebruik<br />
De volgende php-page bepaald op basis van de huidige tijd welke groet gegeven moet worden. In<br />
de publicatie folder van de werbserver bevat het bestand de volgende code:<br />
<br />
<br />
<br />
<br />
<br />
<strong>PHP</strong> <strong>gevorderd</strong><br />
Toepassing5: Verschillende Arrays zoek acties<br />
De code laat de inhoud van een array zien, sorteert daarna de array en toon de inhoud daarna op<br />
een andere wijze. Er wordt een zoekactie geaddan door het formulier een het gevonden<br />
elementsnummer in de array wordt gegeven. Daarna worden willekeurige arraywaarden in een lijst<br />
met variabelen gezet en getoond. De php-page (arrays.php) in de publicatie folder van de<br />
werbserver en bevat de volgende code:<br />
© 2011 29
<strong>PHP</strong> <strong>gevorderd</strong><br />
<br />
<br />
<br />
Zoek acties<br />
Zoek elementnummer van een kleur (0 t/m5):<br />
<br />
<br />
<br />
<br />
<br />
<strong>PHP</strong> <strong>gevorderd</strong><br />
Toepassing6: Alfabetisch sorteren met arrays (for en if)<br />
De code vraagt om een extra naam, welke in een array wordt toegevoegd. Alle elementen van de<br />
array worden gesorteerd van A-Z, daarna a-z en tot slotte 0-9.<br />
De html-page (index.html) in de publicatie folder van de werbserver bevat de volgende code:<br />
<br />
<br />
Sorteren op alfabet<br />
<br />
<br />
<br />
<br />
Sorteer ingevoeerde naam en de gegevens in een Array<br />
Het sorteer resultaat zal zijn: eerst cijfers, vervolgens A-Z en daarna a-z.<br />
Voer een naam in:<br />
<br />
<br />
<br />
<br />
<br />
<br />
© 2011 31
<strong>PHP</strong> <strong>gevorderd</strong><br />
De php-page (alfabet.php) is in de publicatie folder van de werbserver en bevat de volgende code:<br />
<br />
<br />
Sorteren op alfabet<br />
<br />
<br />
Alfabetische volgorde<br />
Eerst cijfers, vervolgens A-Z en daarna a-z.<br />
<br />
<br />
<br />
© 2011 32
<strong>PHP</strong> <strong>gevorderd</strong><br />
Toepassing7: Alfabetisch sorteren met arrays met functies<br />
De php-page (alfabet-functie.php) zal de waarden in een array sorteren en weergeven. Het php-<br />
bestand bevat de volgende code:<br />
<br />
<br />
Sorteren op alfabet<br />
<br />
<br />
<br />
<br />
Sorteer ingevoeerde naam en de gegevens in een Array<br />
Het sorteer resultaat zal zijn: eerst cijfers, vervolgens 0-9-A-Z-a-z.<br />
Voer een naam in:<br />
<br />
<br />
<br />
<br />
Alfabetische volgorde<br />
Eerst cijfers, vervolgens 0-9-A-Z-a-z.<br />
<br />
<br />
<br />
© 2011 33
<strong>PHP</strong> <strong>gevorderd</strong><br />
Toepassing8: Verschillende datum bewerkingen<br />
De volgende code bevat een verzameling van verschillende datum bewerkingen. Zo wordt het<br />
datum-format van internationaal naar Europees en weer terug getoond op verschillende manieren.<br />
Ook wordt getoond hoe een formulier een datum kan weergeven met dropdown-input velden.<br />
<br />
<br />
datum conversies<br />
<br />
<br />
<br />
datum tijd waarden ophalen<br />
<br />
<br />
<br />
<br />
<strong>PHP</strong> <strong>gevorderd</strong><br />
<br />
<br />
NL-datum form<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
><br />
februari<br />
><br />
april<br />
><br />
juni<br />
><br />
augustus<br />
><br />
oktober<br />
><br />
december<br />
<br />
<br />
<br />
if (isset($_POST[datum]))<br />
{<br />
echo $_POST[dag].'-'.$_POST[maand].'-'.$_POST[jaar];<br />
}<br />
<br />
verschil data<br />
<br />
<br />
<br />
<strong>PHP</strong> <strong>gevorderd</strong><br />
Toepassing9: Score berekenen<br />
Hieronder is een simpele bewerking gegeven om met gebruikers input een berekening uit te<br />
voeren. De invoer gebeurt met HTML-formulieren, de berekening wirdt door de <strong>PHP</strong>-module<br />
uitgevoer en in HTML-code gezet en naar de webserver teruggestuurd, zodat een cliënt-browser<br />
pure HTML krijgt:<br />
<br />
<br />
Cijfer berekening<br />
<br />
<br />
<br />
<br />
Bereken van de totale rente over een gestelde periode<br />
punten: <br />
totaal:<br />
<br />
<br />
<br />
<br />
<br />
<br />
© 2011 36
De score wordt berekend in doormiddel van de volgende code:<br />
<br />
<br />
<br />
<strong>PHP</strong> <strong>gevorderd</strong><br />
echo ' Het aantal punten is: ';<br />
echo $punt;<br />
echo ' Het cijfer is: ';<br />
echo $result;<br />
echo '';<br />
{<br />
echo 'Goed gedaan';<br />
}<br />
{<br />
echo 'Niet goed...';<br />
}<br />
Toepassing10: Gemiddelden berekenen uit een array<br />
In de volgende code worden waarden uit een array met een while loop bij elkaar opgeteld, waarna<br />
het gemiddelde wordt berekend.<br />
<br />
<br />
<br />
© 2011 37
Toepassing11: Licentie controle<br />
In de code hieronder (licentie.php) wordt een sleutels gegenereerd op basis van een naam. Nu<br />
wordt de sleutel direct op het scherm die ingevoerd moet worden. Normaal zal de eindgebruiker<br />
deze de gebruikersnaam en de licentie -sleutel via een ander weg ontvangen en in moeten voeren<br />
<br />
Licentie<br />
<br />
<br />
Licentie controle<br />
<br />
<br />
<br />
organisatie:<br />
<br />
<br />
<br />
<strong>PHP</strong> <strong>gevorderd</strong><br />
© 2011 38
Toepassing12: Vul een iframe dmv een <strong>PHP</strong>-actie<br />
In het index.php bestand hieronder wordt op basis van een php waarde een iframe gevuld met<br />
een externe webpage. Dit kan uiteraard ook een webpage op de server zelf zijn.<br />
Met deze techniek is het mogelijk om vanuit <strong>PHP</strong> in één of meerdere iframes nieuwe of andere<br />
content weer te geven.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Toepassing13: Header- mogelijkheden en keuze tussen CSS-<br />
bestanden<br />
Het eerste stukje header wat hieronder is weergegeven hoe in de adresbalk het icoontje<br />
vervangen kan worden door een eigen icoon. Daarna staan er twee regels die zoekgegevens bevat<br />
voor zoekmachines, zodat uw site beter te vinden is. Uiteraard kan de inhoud van de ‘meta-<br />
waarden’ ook vanuit een database worden gehaald.<br />
Het tweede stukje code vraagt de browserinformatie op van de bezoeker. Uit deze informatie<br />
zoeken we het stukje tekst: ‘MSIE’. Op basis hiervan bepalen we welk CSS-bestand geladen moet<br />
worden. Dit is nodig om dat de verschillende browsers niet op de zelfde manier omgaan met CSS-<br />
informatie. Mozilla en Apple houden zich aan de internationale standaarden. Microsoft moet<br />
natuurlijk afwijken...<br />
<br />
<br />
<strong>PHP</strong> <strong>gevorderd</strong><br />
<br />
<br />
<br />
<strong>PHP</strong> <strong>gevorderd</strong><br />
Toepassing14: Oppervlakte met afbeeldingen maken<br />
Door input te leveren in een formulier wordt er een vlak van afbeeldingen gemaakt. De code<br />
hieronder doet dit:<br />
<br />
<br />
Oppervlak maken<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
breedte (max 50)<br />
<br />
<br />
<br />
<br />
<br />
<br />
hoogte (max 30)<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
De rest van de code staat op de volgende bladzijde:<br />
© 2011 41
<strong>PHP</strong> <strong>gevorderd</strong><br />
<br />
<br />
© 2011 42