| |||||||||||||||||||||||||||||||||||||||||||||||
|
Alle hoofdstukken... InhoudsopgaveInleiding Een eenvoudig HTML document Afbeeldingen Lijsten Links Tabellen Frames Formulieren Cascading stylesheets JavaScript PHP programmeren Server side includes CGI & Perl Speciale tekens Kleurvoorbeelden Meer informatie Software Recente toevoegingen Alfabetische index In dit hoofdstuk...
PHP verweven met HTMLDatum en tijd tonen PHP is veeltalig Datum van de huidige pagina Datum van een andere pagina Formulieren verwerken
Language choice...
You have chosen to use Dutch as your preferred language. |
PHP programmerenPHP, wat staat voor "PHP: Hypertext Preprocessor," is een veelgebruikte, open source scripttaal die verweven kan worden met HTML. De volledige documentatie van PHP is te vinden op www.php.net PHP verweven met HTMLInvoegen van PHP in je pagina's is eenvoudig. Op de meeste webserver moet je het bestand een .php extensie geven in plaats van .html. Daardoor weet de webserver dat het bestand door PHP bewerkt moet worden. Op deze manier mix je PHP met HTML: De tijd is: <?php echo time() ?> seconden sinds 1970... De tijd is: 1216861023 seconden sinds 1970... De tijd die je nu ziet is de Unix tijd, seconden sinds 1970. Langere PHP code kan ook zo met HTML worden gemengd: De tafel van zeven:<BR> De tafel van zeven: <?php vertelt PHP dat code daar begint, ?> geeft het eind van het script aan. In het eerste voorbeeld zie je het gebruikt van time(), een van de vele ingebouwde functies van PHP. Deze geeft de tijd in seconden sinds 1970, de Unix tijd. De echo en print functies doen hetzelfde, ze voeren iets uit naar de HTML pagina. Het tweede voorbeeld toont hoe je de variabele $i kunt gebruiken. Elke regel in een PHP script eindigt met een puntkomma, tenzij er maar één regel in een script staat. Als een lezer je pagina bekijkt is niets van wat tussen <?php en ?> staat te zien. Ook niet als hij de bron van het bestand bekijkt. Alleen de resultaten van een print of echo functie verschijnen in de webpagina. Datum en tijd tonenPHP is erg nuttig om eenvoudige dynamische elementen in je pagina's te verwerken zoals het tonen van datum of tijd: Welkom, vandaag is het <?php echo strftime("%A") ?> en de tijd is <?php echo strftime("%R") ?>. Welkom, vandaag is het Thursday en de tijd is 02:57. De strftime() functie toont data en tijden. De functie heeft tenminste één argument nodig, een tekst om de datum te formatteren. Je hebt daarvoor veel opties, hier staan de belangrijkste:
Je kunt een onbeprtk aantal van deze opties combineren in een strftime() functie. <?php print "Vandaag is het: " . strftime("%a, %e %B '%y en de tijd is %H:%M:%S") ?> Vandaag is het: Thu, 24 July '08 en de tijd is 02:57:03 De strftime() functie print de tijd op het moment dat de functie aangeroepen wordt. Je kunt de strftime() functie een tweede argument meegeven, de tijd in seconden sinds 1 januari 1970. Dat is de standaard Unix manier om de tijd vast te leggen. Bijvoorbeeld, 13 december 2003 is 1071270000: <?php print "Een andere datum was " . strftime("%A, %d %B %Y", 1071270000) ?> Een andere datum was Saturday, 13 December 2003 PHP is veeltaligIn de bovenstaande voorbeelden was de uitvoer van PHP in het Engels maar PHP spreekt prima Nederlands. En heel veel andere talen. Je gebruikt de set_locale() functie om er een te kiezen:
<?php
jeudi 24 juillet Dit is heel handig als je site in een andere taal dan het Engels is. Omdat ik in het voorbeeld hierboven als laatste setlocale(LC_ALL, "nl_NL") gebruikt heb, zijn alle volgende voorbeelden ook in het Nederlands. Dat blijft zo tot je met de set_locale() functie een andere taal kiest. Datum van de huidige paginaMet PHP kun je heel makkelijk de datum laten zien waarop de huidige pagina voor het laatst is aangepast. De getlastmod() functie geeft die tijd in Unix formaat en die kun je doorgeven aan de strftime() functie: <?php print "Deze pagina is voor het laatst bijgewerkt op: " . strftime ("%A %d %B %Y", getlastmod()) ?> Deze pagina is voor het laatst bijgewerkt op: maandag 28 april 2008 Als je het bestand middels FTP op een webserver hebt gezet, krijg je waarschijnlijk de datum te zien van de laatste upload, niet de datum waarop het bestand voor het laatst is bewerkt. Datum van een andere paginaOm de datum te krijgen waarop een andere pagina voor het laatst is aangepast moet je iets meer werk doen:
<?php index.php werd voor het laatst bewerkt op maandag 28 april 2008. Dit kleine script gebruikt eerst de file_exists() functie om te controleren of het bestand bestaat. Als dat zo is wordt de filemtime() functie aangeroepen om de datum op te halen waarop het bestand voor het laatst is bewerkt. Je kunt deze functies alleen gebruiken voor bestanden die op dezelfde server staan als je script. Datum afhankelijke pagina'sMet de datum en tijd functies van PHP kun je gemakkelijk interactieve pagina's maken. Kijk eens naar deze twee voorbeelden:
<?php Goedemorgen!
<?php Speciaal aanbod: 6 voor de prijs van 5! In beide voorbeelden zie je het gebruik van de "if, elseif, else" structuur. If en elseif worden gevolgd door een logische uitdrukking. Else wordt uitgevoerd as geen van de logische uitdrukkingen waar blijkt te zijn. Het aantal "elseif" uitdrukkingen wat je kunt gebruiken is onbeperkt. Formulieren verwerkenIn het hoofdstuk over formulieren gebruik ik een simpel script dat de resultaten van de formulieren verzamelt en afdrukt in een tabel. Dat script ziet er zo uit:
<HTML><HEAD><TITLE>Form output tester</TITLE></HEAD><BODY> Het script maakt gebruik van de voorgedefinieerde variabele $_POST. $_POST is een reeks. Als een formulier gebruik maakt van een METHOD="post" attribuut, stopt PHP alle invoer van dat formulier in de reeks $_POST. Bijvoorbeeld, als je een tekstveld hebt wat "e-mail" heet, vind je de invoer terug in $_POST['e-mail']. Omdat $_POST een reeks is, kun je de foreach structuur gebruiken om de inhoud van de reeks op te halen. foreach neemt een voor een de waarden in $_POST en, in het bovenstaande vooorbeeld, stopt de naam van de waarde in $i en de waarde zelf in $j. Hierdoor is het script flexibel en haalt alle invoer uit het formulier ongeacht hoeveel velden er zijn en hoe die heten. Het script gebruikt twee ingebouwde PHP functies voor beveiliging. De strip_tags() functie verwijderd alle PHP en HTML elementen. Daarmee voorkom je dat kwaadwillende gebruikers scripts of riskante HTML elementen in het formulier verwerken. De tweede veiligheidsmaatregel is het beperken van de lengte van de invoer met de substr() functie. Deze functie vraagt drie argumenten. De eerste is een tekst, de tweede het beginpunt en de derde is een getal wat de lengte aangeeft van de tekst die je over wilt houden. Bij het beginpunt is 0 het eerste karakter van de tekst. $i wordt dus beperkt tot 20 tekens en $j tot een maximum van 255 tekens. Je kunt in dit voorbeeld ook zien dat je probleemloos functies binnen functies kunt gebruiken. Tenslotte gebruikt dit script de print functie. Je kunt hier zien hoe de twee variabelen midden in een tekst gebruikt kunnen worden en toch goed printen. Dit is een heel eenvoudig voorbeeld van het verwerken van formulieren. In de praktijk zul je vaak de ingevoerde gegevens willen controleren, bijvoorbeeld om te zien of alle verplichte velden ingevuld zijn. In de meest gevallen wil je de invoer ook verwerken, bijvoorbeeld opslaan in een database of per e-mail versturen.
|
||||||||||||||||||||||||||||||||||||||||||||||
|
Reacties welkom...
Open standaarden...
Deze site is volledig conform de open standaarden van het World Wide Web Consortium (W3C). Je kunt op de logo's klikken om dat te verifiëren.
| |||||||||||||||||||||||||||||||||||||||||||||||
|
©1995-2008 Jan Weijers, the Netherlands. All rights reserved.
| |||||||||||||||||||||||||||||||||||||||||||||||