Dynamische websites met PHP (basis) Karel Nijs 2010/09
Leswijze Eerst wat theorie Begeleid met (korte) oefeningen Editor = UltraEdit Geen DreamWeaver Browser = Internet Explorer Vereiste voorkennis: (X)HTML + JavaScript Online hulp: http://www.php.net/manual/en/ Korte pauze rond 20u
PHP basis overzicht cursus HTML intro Wat is PHP? De installatie van PHP Eerste stappen in PHP Variabelen Arrays Rekenen met PHP Formulieren Lussen Mailen via PHP Teller en gastenboek
PHP basis les 1 HTML intro Wat is PHP? De installatie van PHP Eerste stappen in PHP Variabelen
HTML intro Hyper Text Markup Language Tekstbestand met opmaak tokens(tags) Tags bepalen weergave pagina
HTML intro Webpagina Editeerbaar tekst bestand Bestandsextentie =.html of.htm Opbouw: head: body: Bevat technische informatie Niet zichtbaar in browser Weergave inhoud
HTML intro HTML = statische webcontent De pagina wordt éénmaal opgebouwd Opgeslagen op de webserver Elke keer als je iemand hem opvraagt, krijgt hij dezelfde Beperkte manipulaties met JavaScript Beperkingen: Geen gegevens verzamelen mbv. Formulieren Geen emails versturen
HTML intro PSPad editor installeren bij je thuis: 1. Ga naar http://www.pspad.com/en/download.php 2. Download de "Installer" naar je bureaublad 3. Voer de installeruit door er op te dubbelklikken 4. Druk telkens op "Volgende" PSPad editor starten: 1. Ga naar Start > Programma's > PSPadeditor> PSPadeditor
HTML intro syntaxhigh lighting
Browsers Doel: weergave van inhoud webpagina Eigenlijk: omzetten van bron naar presentatie Soorten: Vele verschillende Vele scherpe kantjes Standaarden?!
Browsers Caching Lokaal opslaan van pagina s, figuren, Instelbaar in browser
Browsers 1 2 AANvinken
Windows file system 1 2 AFvinken
PHP basis les 1 HTML intro Wat is PHP? De installatie van PHP Eerste stappen in PHP Variabelen
Wat is PHP? Wat is PHP? PHP betekent: PHP: Hypertext Preprocessor Vroeger: Personal Home Page Ontstaan in 1994 Voorloper waren CGI scripts PHP is een server-side scripting language, zoals ASP PHP scripts worden uitgevoerd op de server
Wat is PHP? PHP = dynamische webcontent De pagina wordt telkens opgebouwd Opgeslagen op de webserver Elke keer als je iemand hem opvraagt, kan hij anders zijn Allerhande manipulaties mogelijk
Wat is PHP?
Wat is PHP? Wat is PHP? PHP is open sourcesoftware PHP is gratis te downloaden en te gebruiken PHP is een scripttaal: Schrijf code Plaats code online Roep pagina op Code wordt geïnterpreteerd(<-> gecompileerd) Code geeft output HTML, tekst, figuur, alles kan!
Wat is PHP? Wat is een PHP bestand? PHP bestanden kunnen tekst, HTML en scripts bevatten PHP bestanden worden teruggegeven naar de browser als gewone HTML Opm.: een PHP bestand op een niet-phpwebservertoont gewoon de volledige inhoud! Extensies: ".php", ".php3", of ".phtml"
Wat is PHP? Wat is MySQL? MySQLis een database server MySQL is ideaal voor zowel kleine als grote applicaties MySQL ondersteunt standaard SQL MySQL is crossplatform MySQLis gratis om te downloaden en te gebruiken PHP + MySQL Combinatie werkt ook crossplatform Bv. UnixPHP server en Windows MySQLserver
Wat is PHP? Waarom PHP? PHP draait op verschillende platformen (Windows, Linux, Unix, etc.) PHP is compatibel met de meeste webservers(apache, IIS, etc.) PHP is gratis te downloaden en gebruiken: www.php.net PHP is eenvoudig om aan te leren PHP is efficiënt
PHP basis les 1 HTML intro Wat is PHP? De installatie van PHP Eerste stappen in PHP Variabelen
De installatie van PHP Wat heb ik nodig? Tekst editor Optioneel: webserver die PHP ondersteunt Optioneel: database Webserver Voor PHP redelijk goedkope webruimte: 50 / 1 GB Eerst lokaal pagina editeren, daarna uploaden Niet handig! Oplossing is lokale webserver, bv. XAMPP
De installatie van PHP 3 manieren: Lokaal editeren+ telkens uploadennaar gehuurde webserver Manueel: Webserver downloaden + installeren PHP 5 downloaden + installeren MySql downloaden + installeren Alles testen Automatisch: XAMPP installeren
De installatie van PHP De installatie van Wampserver Download van http://www.wampserver.com/en/download.php Installeer WampServer2.0i.exe Neem altijd de default waardes aan De installatie is klaar! (zie c:\wamp)
De installatie van PHP De installatie van Wampserver Windows beveiliging: laat de connectie naar buiten toe
De installatie van PHP De installatie van Wampserver Start Wampserver
De installatie van PHP De installatie van Wampserver Zet de Wampserver ONline Linkermuisklik op het icoontje Kies dan Localhost
Oefening 1 Installeer WAMPP Open de localhost Bekijk de output van de phpinfo() functie
De installatie van PHP Document root Elke DNS wijst naar één PC/server met een uniek IP-adres Als dit een webserveris, dan wil je iets tonen Dat is het document dat in je document rootwilt zetten www.squashclubleuven.be www.kbc-fotoclub.be www.kbcopenleren.be / /squash/ /foto/ openleren/
De installatie van PHP Document root Bij WAMP: C:\wampp\www\ De webserver zoekt standaard naar pagina s zoals: index.htm index.html index.php Altijd zorgen dat (je eigen versie van) deze pagina bestaat!
Oefening 2a Open de document root van WAMPP Hernoem de index.php file naar blah.php Bekijk de localhostweer via het icoontje in je taakbalk Wat is het gedrag van de webserver? Oefening 2b Maak een nieuwe pagina index.htmlaan met een persoonlijke boodschap Bekijk de localhost weer opnieuw
De installatie van PHP Webservers en operating systems Grote verschillen tussen werking Windows en Unix/Linux Wees consistent met gebruik van capitalisatie In bestandsnamen gebruik géén: Spaties Gekke tekens: è, ^,, *,/, Bv. mijn pagina hé.html wordt mijn%20pagina%20hé.html In plaats daarvan gebruik je: Koppeltekens: - Underscores: _ Bv. mijn_pagina_he.html
Huiswerk Installeer thuis WAMPP Los het probleem op dat je krijgt wanneer er géén index.htmlof index.phppagina gedefineerd is Zie syllabus: Les 2 p. 5 t/m 7
PHP basis les 1 HTML intro Wat is PHP? De installatie van PHP Eerste stappen in PHP Variabelen
Eerste stappen in PHP PHP is een scripttaal PHP wordt geïnterpreteerd PHP kan meerdere outputsgeven (tekst, figuren, HTML, ) Wij focussen op HTML De interpreterzal dan PHP scripttaal omzetten naar HTML output Er wordt nooit PHP getoond op het scherm Tenzij je een PHP file op een niet-phpserver zet
Eerste stappen in PHP Basis PHP syntax PHP code moet omringt worden door: <??> <?php?> Binnen deze tags: géén HTML of gewone tekst schrijven! Buiten deze tags: wel HTML of gewone tekst mogelijk Elke PHP file eindigt op.php Elke instructieregel eindigt op een kommapunt ; Er kunnen meerdere instructieregels op één lijn staan in je tekstverwerker; Bv. echo een ; echo twee ; echo drie ;
Eerste stappen in PHP Basis PHP syntax Bijvoorbeeld: <html> <body> <?php echo "Hello World";?> </body> </html> HTML code deel 1 PHP code HTML code deel 1
Eerste stappen in PHP Basis PHP syntax Bijvoorbeeld: Start tag PHP PHP instructie Eind tag PHP <html> <body> <?php echo "Hello World";?> </body> </html> kommapunt
Eerste stappen in PHP Basis PHP syntax 2 basis output instructies: void echo ( string $arg1 [, string $... ] ) int print ( string $arg )
Eerste stappen in PHP Commentaar: Te gebruiken om uitleg te schrijven bij je code Doel: Jezelf + anderen helpen Debuggen! 3 vormen: //uitleg /* -> 1 regel commentaar */ -> meerdere regels commentaar # uitleg -> 1 regel commentaar (verouderde syntax)
Oefening 3 Maak de pagina op de volgende slide Alle HTML code binnende body moet via PHP naar het scherm geschreven worden. Gebruik zowel echo() als print() Zoek eerst op www.php.netop hoe deze werken! Extra: zoek het volgende op Googleop en kijk welke problemen andere ontwikkelaars hebben: php parse error: syntax error, unexpected T_STRING
Oefening 3
PHP basis les 1 HTML intro Wat is PHP? De installatie van PHP Eerste stappen in PHP Variabelen
Variabelen Variabelen worden gebruikt om tijdelijke waardes in het geheugen op te slaan Bv. tekst, getallen, datums, Eens gedeclareerd kunnen ze overal in je script gebruikt worden Alle variabelen in PHP beginnen met een $-teken Correcte manier voor declareren: $variabele = waarde;
Variabelen variabelenaam waarde $groet = Hallo wereld ; dollarteken operator voor toekenning afsluiting regel
Variabelen Regels voor naamgeving: Naam moet starten met letter of underscore Naam kan enkel volgende tekens bevatten: a t/m z A t/m Z 0 t/m 9 Underscore_ Geen spaties toegelaten Woorden scheiden met een underscore Bv. $aantal_gebruikers Hoofdlettergevoelig!
Variabelen PHP is een loosly typed language Een variabele moet niet gedeclareerd zijn voor je er een waarde aan toevoegt Je moet niet zeggen welk datatype je wilt PHP zet automatisch om naar het juiste type adhv. de waarde PHP declareert variabele automatisch vanaf wanneer je hem gebruikt
Variabelen PHP is een loosly typed language Voordelen: Eenvoudig Snel en kort Niet nadenken over type Nadelen: Rommeltje! Onbewust bezig: niet zo goed voor het geheugen Geen controle over type
Variabelen Een waarde naar het scherm schrijven: Bv. echo Goeiemorgen $naam ; Of: echo Goeiemorgen + $naam; Of: echo Goeiemorgen. $naam; Of: echo Goeiemorgen. $naam;
Variabelen Concatenatie operatoren: + voor strings. voor strings en getallen Tussen enkele quotes kan je géén variabelen gebruiken! Bv. echo Goeiemorgen $naam ; Goeiemorgen Karel echo Goeiemorgen $naam ; Goeiemorgen $naam
Variabelen Escapen van speciale karakters: Nodig bij,, $, \, Bv. echo Dit kost $ 100 ; Dit kost $ 100 echo Hij zei: \ Hallo!\ ; Hij zei: Hallo! Speciale escapekarakters: \n nieuwe regel \r nieuwe paragraaf \t tab
Variabelen HTML kent géén whitespace Oplossing: whitespace invoegen: <br>, <p>, PHP heeft als output HTML en kent dus ook géén whitespace Bijvoorbeeld: echo regel1 regel2 ; echo regel1\n regel2 ; echo regel1<br> regel2 ; echo regel1<br>\n regel2 ; HTML broncode regel1 regel2 regel1 regel2 regel1<br> regel2 regel1 regel2 webpagina in IE regel1 regel2 regel1 regel2 regel1 regel2 regel1 regel2
Oefening 4a Maak een pagina die: Twee gehele getallen (bv. 3 en 5) optelt en naar het scherm print Zowel de 2 gehele getallen als de som steek je telkens in aparte variabelen Oefening 4b Eén geheel getal (bv. 3) en één kommagetal (bv. 5,2) optelt en naar het scherm print Zowel de 2 gehele getallen als de som steek je telkens in aparte variabelen
Oefening 4c Maak een pagina die: Eén geheel getal (bv. 3) en één kommagetal (bv. 5,2) samenvoegt en naar het scherm print In plaats van de + te gebruiken voor de som te maken, gebruik je nu de. Dus: ipv. 3 + 5,2doe je nu: 3. 5,2 Zowel de 2 gehele getallen als de som steek je telkens in aparte variabelen Oefening 4d Volgende zin naar het scherm schrijft: Mijn nickname is: \slash\!
Oplossing Oefening 4
Oefening 5 Zorg dat de broncode van volgend script leesbaar wordt: oefening5_opgave.php Wat is leesbaar? Tip: zoek op Google: indent style wiki
PHP basis volgende les (2) Korte herhaling les 1 Variabelen > Strings Operatoren Arrays Rekenen met PHP Formulieren
Bedankt voor jullie aandacht!