PHP-in-je-website-gebruiken

Download Report

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

en
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:

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