PHP-in-je-website-gebruiken

Report
Starten met PHP
Dynamischer bouwen
PHP – Hypertext Preprocessor
is een een scripttaal waarmee de server
pagina’s in elkaar kunt laten zetten.
• PHP is open source, dus gratis en voor iedereen te
gebruiken en heel veel hulp online te vinden:
www.php.net
• Een enorm grote website zoals die van de TU Delft
werkt met PHP, net zoals jouw eigen wordpressblogje
of Wim’s pillenshop
• Het werk wordt gedaan op de server, die natuurlijk PHP
moet ondersteunen, hetgeen de servers van zo’n
beetje alle providers doen. Ook eduweb doet dat.
PHP
Werk dus een beetje anders dan platte
HTML, maar je browser ziet hetzelfde.
• Een php pagina kan er exact hetzelfde uitzien als een
html pagina. Je kunt een html-pagina dan ook gewoon
als php-pagina opslaan
• Op een php pagina kun je scripts toevoegen. Deze
scripts staan dan tussen de php-tags <?php en ?>
• Door zo’n php-script weet de webserver dat er eerst
iets met de pagina moet gebeuren, voordat de pagina
naar de browser van de bezoeker wordt gestuurd.
NB: php-scripts zijn niet noodzakelijk voor een mooie website!
PHP – in schema
1) Pagina wordt opgevraagd in de browser, er gaat een verzoek naar server
<?php
script
?>
index.php
2) De server moet een
php bestand opsturen en
denkt: hé, daar moet ik
eerst iets mee!
Het script uit wordt
uitgevoerd. Dat levert
een php-pagina zonder
script, met pure html
HTML-code
index.php
4) De browser ontvangt
de net door de server
gemaakte php-pagina
met de HTML-code en hij
laat die pagina zien
HTML-code
index.php
Op de server
In de browser
PHP
van heel ingewikkeld tot mega simpel.
Met PHP kun je:
• Ontzettend ingewikkelde websites maken (TU Delft,
wordpress, webwinkels)
• Website aan een database koppelen, zodat je een
simpel content management system krijgt
• Hele simpele scriptjes maken om je site eenvoudiger te
kunnen bijhouden door hergebruik van bepaalde
content
PHP – variabelen & scripts
Oei, dat lijkt wel wiskunde…
• Een variabele is zoals x in de wiskunde: iets dat een
waarde kan krijgen
• Je kunt opdrachten maken waarin je die variabele
gebruikt: echo $totaal = 6 + $i;
Vergelijk het met: y = 6 + x
• Elke opdracht eindigt met een puntkomma
• Een verzameling opdrachten noem je een script
PHP – variabelen & scripts
Effe oefenen…
Het script:
• Als ik een A laat zien, roepen jullie
• Als ik een B laat zien, roepen jullie
• Als ik een C laat zien, roepen jullie
• Als ik een D laat zien, roepen jullie
• Als ik iets anders laat zien, roepen jullie
APPEL;
BANAAN;
CITROEN;
DRUIF;
PEER;
PHP – functies
…hele enge wiskunde zelfs:
mail($ontvanger, $onderwerp, $boodschap);
Een PHP-functie is een voorgebakken script waar
variabelen ingestopt worden en waar dan vervolgens een
product uit komt. Bijvoorbeeld de functie mail(),waarmee
je de inhoud van een ingevuld webformulier als email
kunt versturen (product) zonder het emailprogramma te
gebruiken. In dit geval worden er drie variabelen
meegegevenmet elk een specifieke waarde:
• $ontvanger:
• $onderwerp:
• $boodschap:
het emailadres waar de mail heen moet
het onderwerp dat de mail krijgt
de inhoud van de mail
PHP – variabelen, scripts &
functies
…maar wel hele handige wiskunde!!
• De waarde van een variabele kun je meesturen in de
url, zodat je die in de volgende pagina kunt gebruiken
om een script uit te voeren, zoals:
–
–
–
–
Een stuk html te genereren;
Een ander stylesheet te laden;
Een specifiek bestand in de pagina te trekken;
In een functie gebruiken, bijvoorbeeld om een formulier te
verwerken;
PHP – variabelen & functies
Makkelijk te gebruiken variabelen
functies
Behalve mail() zijn er nog een paar functies die heel handig
zijn en makkelijk in het gebruik:
• $_GET["naam_variabele_in_url"];
is een variabele die PHP gebruikt om een waarde mee te geven in de
URL, via $_GET[]; haal je die waarde op
• $wat_jij_wilt
is een variabele binnen je pagina, de naam moet uniek zijn!
• file_exists();
de functie die je gebruikt om te testen of een bestand bestaat in je
website
• include();
de functie die je gebruikt om een de inhoud van een ander bestand in
je pagina te laten zien
PHP – regels
Een paar afspraken
• Gebruik niet opgemaakte aanhalingsteken in je php,
dus niet “” en wel "“
• Gebruik unieke namen voor je variabelen, die duidelijk
maken wat er in zit, zoals $menu
• Gebruik in je variabelenamen de underscore: _ om
woorden te scheiden
Het koppelteken: - en spaties werken niet in namen,
dat snapt php niet
• Elke regel code wordt afgesloten met een puntkomma;
PHP de functie include();
voegt dynamiek toe aan een pagina en
maakt zo hergebruik van code mogelijk
• Een stuk html-code dat je op elke pagina gebruikt, zoals
je menu, kun je ook in een los bestand zetten.
• Vergelijk het met je stylesheet, dat is ook een bestand
dat je op elke pagina invoegt, waardoor je de stijl maar
één keer hoeft te definieren.
• Met een kort php-scriptje laat je dat bestand in de
pagina’s toevoegen door de server.
PHP – een vast menu includen
De voorbereiding: kopieren
• Open index.html in de html-editor
• Sla je index.html op als index.php
• Zoek in de html-code van het menu
In de template staat dat tussen <div id=“menubalk”> en </div>
• Kopieer die menu-code
PHP – een vast menu includen
Het nieuwe menubestand maken
Plakken
•
•
•
•
Zorg dat je in de editor in de codeview werkt
Open een nieuwe php-pagina
Verwijder alle bestaande code
Plak de code van het menu dat je net gekopieerd hebt
in de nieuwe pagina
• Sla de pagina op als menu.php
PHP - een vast menu includen
Het menubestand invoegen (=includen)
Invoegen
• Ga terug naar de pagina index.php
• Zoek het menu op de pagina
• Vervang de code van het menu door:
<?php
if (file_exists("menu.php")) {include "menu.php";}
?>
• Sla je index.php op
• Open index.php in je browser (de pagina moet nu op een
server staan!)
PHP – waarden meegeven
de opbouw van de url
• Je kunt waarde in een url meegeven aan de volgende
pagina:
http://localhost/test.scorenmetwebsites.nl/?menu=1&titel=praktijkvoorbeelden
• Deze url verwijst naar de pagina zelf, dus index.php
• Het vraagteken laat weten dat er waarden meegegeven
worden
• Het &-teken gebruik je als je meer dan 1 waarde mee wilt
geven
• De naam van de waarde heb je nodig om de waarde straks
“op te vangen”
PHP variabelen & scripts
een voorbeeld van zo’n script.
<?php
1) $menu = $_GET["menu"];
2) $filename = "submenuus/submenu_" . $menu . ".html";
3) if (file_exists($filename)) {
4)
include($filename);
5) }
?>
1. Haal de waarde met de naam “menu” op uit de url en
stop die in de variabele $menu
2. Maak een bestandsnaam met $menu in stop die in
$filenaam
3. Kijk of er een bestand met de naam in $filenaam
bestaat (test i.v.m. veiligheid)
4. Zo ja, laat de inhoud van dat bestand dan hier zien
PHP variabelen & scripts
het script nader bekeken
<?php
1)
Laat weten dat er een php script begint
$menu = $_GET["menu"];
De variabele $_get[]; bevat de waarde van de variabele zoals die in de url staat
2) $filename = "submenuus/submenu_" . $menu . ".html";
Knoopt vaste tekst (tussen de quotjes) en de variabele aan elkaar tot een bestandsnaam. Voor dat
knoopwerk gebruik je een punt.
3) if (file_exists($filename)) {
Zegt dat de volgende actie alleen maar worden uitgevoerd als het bestand met die naam op de server
bestaat. De { geeft het begin van de acties aan die onder deze voorwaarde moeten worden uitgevoerd.
4)
include($filename);
Voegt de inhoud van het bestand toe aan de pagina
5) }
?>
De } geeft het einde van de acties aan die moeten worden uitgevoerd
Laat weten dat het php script eindigt
PHP
dat script levert de onderstaande
html-code op.
OFWEL: de inhoud van het bestand submenuus /submenu_1.html
PHP – flexibele pagina maken
stukken html in div’s laten verschijnen
Op deze manier kun je bijvoorbeeld bij elke klik naar
dezelfde index.php pagina:
•
•
•
•
Een ander submenu laten verschijnen op dezelfde plek
Een andere inhoud laten verschijnen in de contentkolom
Een ander plaatje laten verschijnen in je banner
Kleuren per pagina laten wisselen, door een ander
stylesheet voor de kleuren te gebruiken per pagina
PHP – een php-pagina bekijken
een php-pagina kan alleen op een server
die php begrijpt bekeken worden
Want:
• De server eduweb.hhs.nl zet de pagina in elkaar
voordat die pagina opgestuurd wordt.
Dus:
• Moet je de pagina uploaden om het resultaat te zien
Handig:
• Een locale server installeren, zoals XAMPP van
www.apachefriends.org
NB: een locale server is niet noodzakelijk om een pagina te bekijken!
PHP - een locale server
een locale server biedt de mogelijkheid phppagina’s op je eigen computer te bekijken
•
•
•
•
•
•
Download XAMPP van apachefriends
Installeer het pakket
Volg alle instructies
Surf in je browser naar localhost
Je ziet nu je locale server
Klik op de taal van je voorkeur en volg de instructies
om je server veilig te maken.
PHP - een locale server
weet waar je bestanden staan
Je website op de locale server zetten:
• Je php website moet in de juiste map op je computer
staan, om door de server gevonden te worden
• Als je met installeren dse instructies hebt gevolgd, dan
zet je de map met je website in de map:
C:/xampp/htdocs/
• Je website kun je nu in de browser bekijken door in te
typen: http://localhost/naam-van-je-website

similar documents