Transcript PHP-in-je-website-gebruiken
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
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
script ?>
index.php
1) Pagina wordt opgevraagd in de browser, er gaat een verzoek naar server 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
waarde kan krijgen in de wiskunde: iets dat een 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 : het emailadres waar de mail heen moet $onderwerp : het onderwerp dat de mail krijgt $boodschap : 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: _ woorden te scheiden Het koppelteken: dat snapt php niet en spaties om werken niet in namen, 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
Kopieer die menu-codePHP – 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:
if (file_exists("menu.php")) {include "menu.php";} ?> Sla je index.php op Open index.php in je browser ( server staan!
) de pagina moet nu op een
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.
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
Laat weten dat er een php script begint 1) $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 php pagina’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