PHP: Formulieren. <form action= script.php method= POST >

Vergelijkbare documenten
Les 9: formulier controle met javascript.

HTML. Formulieren. Hans Roeyen V 3.0

Formulieren maken met Dreamweaver CS 4/CS 5

Dynamische Websites. Week 3. donderdag 3 oktober 13

Dynamische Websites. Week 2

<input type="text" name="veldnaam" size="20" maxlength="30" value="inhoud veld">

Foutcontrole met Javascript

Les 15 : updaten van gegevens in de database (deel2).

ideal Betaal Formulier (Ondersteund o.a. ideal, MisterCash, Direct E-Banking en Credit Card)

Deze kaart kun je gebruiken om uiteindelijk een SMS te versturen naar bijvoorbeeld je ouders, je vrienden of naar iemand van je klas

Formulier maken en opvangen met php

Handleiding RS Form! 1.0.4

Internet_html.doc 1/6

Voor vragen: of mail naar

Arrays en Foreach. Huub de Beer. Eindhoven, 4 juni 2011

Oplossingen overzicht PHP. Oplossing KPN opgave, zonder testen van POST

In het CMS is het mogelijk om formulieren aan te maken. Voorafgaand een belangrijke tip:

Pagina-inhoud maken. Voor het plaatsen van een afbeelding in een pagina wordt gebruik gemaakt van het <img>-tag.

Webapplication Security

Formulieren en waarden posten naar een view

Formulieren maken met Dreamweaver CS 4

Een ASP.NET applicatie opzetten. Beginsituatie:

Lab Webdesign: Javascript 7 april 2008

Les W-04: Een introductie in PHP

WEBSITE-DESIGN CHRIS VERMAAS & FJODOR VAN SLOOTEN B

Server Side Scripting

HTML in Outlook Hoe zorgt u ervoor dat uw goed in beeld komt?

Formulieren. Best practices

Programmeren voor het web met PHP

Week 1 1/4. Week 1 2/4

Handleiding webformulieren

Documentatie. InstantModules Q42. Versie 1.1

Een website maken met databasetoegang.

Gebruikershandleiding voor: Beperkte Password protectie met JavaScript

Landelijk Hoofdluis Protocol voor het Primair Onderwijs Quick start Schoolenik.nl voor de School Coördinator Hoofdluis

Handleiding: Whitelabel Customersite

WEBDESIGN. html tags. Neem de grondbeginselen van html door via de online cursus op de informaticasite of via instruct-online

PhPlist Gebruikers Handleiding

Hosting. Bestelformulier en domeinnaamcontrole. Januari, WeFact B.V. Kuiper 7a 5521 DG Eersel Nederland. w: e:

B3 Programmeren - PHP

Inhoud. Pagina 2 van 13

Wat is een child-theme?

Formulierbeheer Importeren bestaand (model)formulier... 2 Wat is exporteren/importeren eigenlijk?... 3 Formulier aanpassen/opbouwen...

procesbeschrijving. Opdracht 1

9. MYSQL. Daarin zien we het administratie paneel van mysql.

Een formulier ontwerpen

PageSpeed Insights. JavaScript en CSS in content boven de vouw die het weergeven blokkeren, verwijderen

NBTC html wijzigingen juni

FFO Webdesign 1e jaar theorietoets NL niveau4... Totaal aantal vragen: 40

PageSpeed Insights. JavaScript en CSS in content boven de vouw die het weergeven blokkeren, verwijderen

Factuur Lay-out / Factuur Template

BASISELEMENTEN <form> <input> <textarea> <select> & <option> </form> INPUT element. INPUT attributen: type, id & name

1 Inleiding Installatie 21. WAMP met Apache Friends 23. XAMPP starten en controleren 26. LAMP 32 De installatie ongedaan maken 33

Dynamische Websites. Week 1. woensdag 18 september 13

Taak Versleutelen en dan weer terug... 1

Aanleveren van te verzenden sms berichten aan SMS Via

De categorie Forms in het paneel Insert

Rob's Domein. theorie van html met de beschrijving van alle tag. Een html pagina moet altijd minstens uit de volgende tags bestaan:

JSN UniForm-Joomla 3 handleiding

Abonnementen en Termijnbetalingen met de HTML INCASSO API. in uw eigen betaalomgeving. (voor een ingesteld product in uw account) Versie 1.

Een app (webapplicatie) in php voor het berekenen van de inhoud van een balk

Inhoudsopgave. Inhoudsopgave Inleiding Het begin Opmaak Formulieren Editors Webbrowsers...

Gegevens uit een database tonen

Handleiding portal voor invoeren verplichte gegevens voor ANBI s.

Handleiding voor het beheren van opleidingen

Info-books. Toegepaste Informatica. Deel 9c: Elektronisch publiceren FrontPage AL9c. Jos Gils Erik Goossens

Eindopdracht webdesign

Handleiding ChainWise Digitaal factureren

ChainWise digitaal factureren

Eigen Widgets in CRM. Introductie. Limitering. Widgets beschikbaar stellen. Tips & Tricks Eigen Widgets in CRM

Werkboek. Sectie Informatica. Nijmeegse Scholengemeenschap Groenewoud

HTTP SMS API Technische Specificatie messagebird.com versie mei 2014

Dit document bevat een beschrijving van het proces van de Webdesign opdracht voor de cursus Informatie-uitwisseling van de opleiding Informatiekunde

AJAX (XMLHttpRequest)

Kies File>New>Blank Page>PHP. Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site

Foto web applicatie documentatie

HTML & CSS DEEL 1. webdesign. Programmeren met CodeAcademy

Een poging om de snelheid van de sites te verzekeren tijdens de lessen:

A Inloggen. B - Wachtwoord Veranderen

Eindopdracht HTML/CSS: hovenier

H AN D L E I DI N G FORM U LI E RM AK E R

Dynamische websites met PHP

Afrekenen via de PayPro HTML PRODUCT API. op uw eigen website. (voor een ingesteld product in uw account) Versie 1.0

Mailing List Manager. Hoofdstuk 19

Trippeltrap Content Management System

PHP & MySQL. Studievaardigheden Frank Takes (ftakes@liacs.nl) LIACS, Universiteit Leiden

Taak Onderzoekt en gij zult vinden Inhoud

Taak Strict or Strong. Inhoud

PHP & MySQL. Studievaardigheden Jan van Rijn (j.n.van.rijn@liacs.leidenuniv.nl) LIACS, Universiteit Leiden

Selenium IDE Webdriver. Introductie

ACCEPETEREN RESERVERING

Cluster 1 Realiseert. 4 Beschrijving van de beroepssituatie behorende bij deze leereenheid

Handleiding Webwinkel

Cliënten handleiding PwC Client Portal

PHP tekst-bewerkingen, uploaden csv-bestanden import/eport

Introductie van HTML5

Technical Note. API Beschrijving Aangetekend Mailen

Gemeente Haarlemmermeer. Leer zelf je nieuwsbrief maken in YMLP. Opgesteld door: drs. Mariska I.R. Franse Datum: 6 en 11 juni 2013

Website maker. Bezoek je domein om de Website maker in te stellen. De volgende melding zal zichtbaar zijn.

Transcriptie:

Acties uitvoeren Het verwerken van gegevens die zijn verzonden vanuit een HTMLformulier op een webpagina is misschien wel de meest fundamentele taak die wordt uitgevoerd door een PHP-script. Bepaald het PHP script dat gebruikt wordt voor verwerking van het formulier. Bepaald hoe de data naar het script gestuurd wordt. <form action= script.php method= POST > PHP biedt een speciale 'superglobal' $ _POST-arrayvariabele waarin formuliergegevens worden opgeslagen die zijn ingediend via de POSTmethode. Het maakt een array-element met dezelfde naam als elke verzonden formulier-elementnaam, waarbij de waarde wordt opgeslagen die ze bevatten. Bijvoorbeeld: <input type= text name= email > Wanneer het formulier wordt ingediend, maakt PHP een arrayelement met de naam $_POST ['email ] dat de waarde bevat die is ingevoerd in de invoer van de gebruiker. Maak een HTML-document met een formulier met drie tekstinvoervelden voor het indienen van gegevens. <form action="action_handler.php" method="post"> <dl> <dt>name: <dd><input type="text" name="name"> <dt>email Address: <dd><input type="text" name="mail"> <dt>comments: <dd><textarea rows="5" cols="0" name="comment"></textarea> </dl> <p><input type="submit"></p> </form> Sla het document op in de map /htdocs als action.php.

3 Maak vervolgens een HTML-document aan waarin doormiddel van een script formulierwaarden worden toe gewezen aan gelijknamige PHP-variabelen voor uitvoer. $name = $_POST['name']; $mail = $_POST['mail']; $comment = $_POST['comment']; echo "<p>bedankt voor dit commentaar $name...</p>"; echo "<p><i>$comment</i></p>"; echo "<p>we zullen reageren naar $mail</p>"; Sla het document op in /htdocs als action_handler.php. Open 4 vervolgens action.php via localhost en verzend enkele gegevens om te zien dat deze wordt weergegeven op de reactiepagina die wordt geproduceerd door de PHP-script. Controleren van ingestelde waarden PHP kan eenvoudig garanderen dat de gebruiker gegevens heeft ingevoerd in ingediende HTML-formuliervelden met behulp van de ingebouwde functie isset(). De functie neemt de naam van een variabele als zijn argument en geeft alleen TRUE (WAAR) als resultaat als die variabele geen NULL is. Maak een HTML-document met een formulier met radio buttons (keuzerondjes) en een enkel veld voor het indienen van gegevens. <form action="isset_handler.php" method="post"> <fieldset> <legend>wat voor soort taal is PHP?</legend> Scripting<input type="radio" name="definition" value="scripting"><br> Markup<input type="radio" name="definition" value="markup"><br> Programming<input type="radio" name"definition"value="programming"> </fieldset> <p><input type="submit"><p> </form> Sla het document op in /htdocs als isset.php

3 Maak vervolgens een HTML-document met een PHP-script om een variabele met een ingezonden waarde te initialiseren - of met NULL als er geen waarde is ingediend. if ( isset( $_POST['definition'])) $definition = $_POST['definition']; $definition = NULL; # Antwoord instructies if ( $definition!= NULL ) if ( $definition!= 'Scripting' ) echo "$definition is Niet correct"; echo "$definition is Correct"; echo 'Je moet een antwoord selecteren'; 4 Sla het document op in /htdocs als isset_handler.php. Open vervolgens isset.php via localhost en verzend het formulier om de antwoorden te zien.

Controleren van ingestelde waarden Om ervoor te zorgen dat de gebruiker iets in een tekstveld heeft ingevoerd, biedt PHP een empty() functie die een variabel argument accepteert en TRUE (WAAR) retourneert als de waarde ervan een lege tekenreeks, nul, NULL of FALSE (ONWAAR) is. Om ervoor te zorgen dat de gebruiker gegevens in numerieke indeling heeft ingevoerd, biedt PHP een is_numeric() functie die een variabel argument accepteert en alleen TRUE retourneert als de waarde een getal is. Meer specifieke gegevensvalidatie kan worden uitgevoerd met behulp van de PHP preg_match() functie die een "reguliere expressie" argument accepteert en een variabel argument waarin een patroon wordt gezocht. Dit wordt meestal gebruikt om ervoor te zorgen dat een e-mailadres de verwachte indeling heeft. Maak een HTML-document met een formulier met twee tekstvelden voor het indienen van gegevens. <form action="valid_handler.php" method="post"> <fieldset> <legend>voer een hoeveelheid en email address in</legend> <p>hoeveelheid : <input type="text" name="quantity"></p> <p>email adres : <input type="text"name="email"></p> </fieldset> <p><input type="submit"></p> </form> Sla het document op in /htdocs als valid.php 3 Maak vervolgens een HTML-document met een PHP-script om een variabele met een ingediende waarde te initialiseren - of met NULL als er geen waarde is opgegeven. # Empty check. if (!empty ( $_POST['quantity'] ) ) $quantity = $_POST['quantity'] ; # Format check. if (!is_numeric( $quantity ) ) $quantity = NULL ; echo 'Hoeveelheid moet een numerieke waarde zijn.<br>' ;

PHP: Formulieren $quantity = NULL ; echo 'Je moet een hoeveelheid invoeren<br>' ; # Empty check. if (!empty ( $_POST['email'] ) ) $email = $_POST['email'] ; # Format check. $pattern = '/\b[\w.-]+@[\w.-]+\.[a-za-z],6\b/' ; if (!preg_match( $pattern, $email ) ) $email = NULL ; echo 'Email adres heeft een incorrect formaat' ; $email = NULL ; echo 'Je moet een email adres invoeren' ; # Success response. if ( ( $quantity!= NULL ) && ( $email!= NULL ) ) echo "Email : $email<br>hoeveelheid : $quantity " ; 4 Sla het document op in /htdocs als valid_handler.php. Open vervolgens valid.php via localhost en verzend het formulier om de antwoorden te zien.

Verborgen gegevens versturen PHP: Formulieren Naast gegevens die door de gebruiker zijn ingevoerd in invoervelden voor HTML-formulier, kunnen gegevens die zijn gegenereerd door PHP worden ingediend met verborgen velden in een HTML-formulier. Net als reguliere invoervelden, zenden deze ook een name = value paar aan het formulier handler script maar hier wordt de waarde geleverd door PHP, niet door de gebruiker. Gegevens die worden door gestuurd met behulp van verborgen formuliervelden kunnen doorgaans de aanmeldingsnaam van de gebruiker bevatten en een tijdstempel van de inzending. Maak een HTM-document met een PHP-script om de tijdzone te definiëren en twee variabelen te initialiseren. date_default_timezone_set('utc') ; $time = date( ' H:i, F j ' ) ; $user = 'Janchi' ; echo ' <form action="hidden_handler.php" method="post"> <fieldset> <legend>send us your comments</legend> <textarea rows="5" cols="0" name="comment"></textarea> <input type="hidden" name="user" value=" '. $user.' "> <input type="hidden" name="time" value=" '. $time.' "> </fieldset> <p><input type="submit" ></p> </form> ' ; Sla het document op in /htdocs als hidden.php. Open vervolgens voer het script uit om de responses te zien.

3 Maak vervolgens een HTML-document met een PHP script om een variabele met een ingezonden waarde te initialiseren - of met NULL als er geen waarde is ingediend. # Controleer of leeg is if (!empty ( $_POST['comment'] ) ) $comment = $_POST['comment'] ; $comment = NULL ; echo 'You must enter a comment' ; # Controleer of waardes zijn toegekend $time = (!isset ( $_POST['time'] ) )? NULL : $_POST['time'] ; $user = (!isset ( $_POST['user'] ) )? NULL : $_POST['user'] ; # Geef Succes response if ( ( $comment!= NULL ) && ( $time!= NULL ) && ( $user!= NULL ) ) echo "<p>comment received : \" $comment \"<br>from $user at $time </p>" ; 4 Sla het document op in /htdocs als Hidden_handler.php. Open het script hidden.php via localhost om de responses te zien. Aanmeldingen verwerken PHP biedt een speciale "superglobal" $_SERVER array variabele met een REQUEST_METHOD element waarin het type verzoek wordt opgeslagen. Wanneer een formulier de POST-methode gebruikt voor submissie, worden twee verschillende typenmeldingen naar het PHP-script gemaakt wanneer een pagina wordt geladen. Wanneer een formulier de POSTmethode gebruikt voor submissies, worden twee verschillende

typenmeldingen naar het PHP-script gemaakt wanneer een pagina wordt geladen. Daarom kan de REQUEST_METHOD worden onderzocht om te bepalen welke koers moet worden gevolgd. Maak een HTML-document met een PHP-script dat de methode voor het opvragen van pagina's onderzoekt. if ( $_SERVER[ 'REQUEST_METHOD' ]!= 'POST' ) echo ' <form action="single.php" method="post"> <fieldset> <legend>send us your comments</legend> <textarea rows="5" cols="40" name="comment"></textarea> </fieldset> <p><input type="submit" ></p> </form> ' ; if (!empty ( $_POST['comment'] ) ) $comment = $_POST['comment'] ; echo "Comment : $comment " ; $comment = NULL ; echo 'You must enter a comment' ; Sla het document op in /htdocs als single.php. Open vervolgens voer het script uit om de responses te zien.

Kleverige formulieren maken Wanneer een gebruiker probeert een formulier in te dienen waarin een vereist veld niet is ingevuld, is het wenselijk om de vermeldingen in de velden die ze hebben ingevuld te behouden door het formulier "plakkerig" te maken. Het toewijzen van de relevante ingediende veldgegevens uit de array $ _POST aan de HTML-tag s value eigenschap met echo behoudt de invoer wanneer het formulier opnieuw wordt weergegeven om te worden voltooid. Als voorzorgsmaatregel moet de instructie de functie isset() gebruiken om te controleren of het veld feitelijk is voltooid voordat het wordt ingediend. Een foutbericht voor elk onvolledig veld kan worden toegewezen aan een array om weglatingen te melden wanneer het formulier opnieuw wordt weergegeven, of een bericht dat het succes bevestigt wanneer alle velden zijn voltooid. Maak een HTML-document met een sticky-formulier met twee tekstvelden voor naam en e-mailadres. # Check form submitted. if ( $_SERVER[ 'REQUEST_METHOD' ] == 'POST' ) # Initialize an error array. $errors = array(); # Check for a name & email address. if ( empty( $_POST[ 'name' ] ) ) $errors[] = 'name' ; $name = trim( $_POST[ 'name' ] ) ; if ( empty( $_POST[ 'email' ] ) ) $errors[] = 'email' ; $email = trim( $_POST[ 'email' ] ) ;

# Report result. if(!empty( $errors ) ) echo 'Error! Please enter your ' ; foreach ( $errors as $msg ) echo " - $msg " ; echo "Success! Thanks $name " ; <!-- Display body section with sticky form. --> <form action="sticky.php" method="post"> <p>name: <input type="text" name="name" value=" if (isset($_post['name'])) echo $_POST['name']; "> </p> <p>email: <input type="text" name="email" value=" if (isset($_post['email'])) echo $_POST['email']; "></p> <p><input type="submit"></p> </form> Sla het document op in /htdocs als sticky.php. Open vervolgens voer het script uit om de responses te zien. Omringende formulieren PHP staat toe dat meerdere bestanden samen worden gevoegd om een enkele webpagina te maken. Dit betekent dat dynamische formulieren kunnen worden omgeven door statische inhoud van kop- (header) en voetteksten (footer) die gemakkelijk kunnen worden hergebruikt om andere pagina's binnen een website te maken. De functie PHP include() neemt de URL van een ander bestand dat moet worden opgenomen in een webpagina als het argument. Typisch inbegrepen statische inhoudsbestanden zijn HTML en bevinden zich in een map "includes" in de map /htdocs van uw webserver. PHP heeft ook een require() functie. Deze werkt op de zelfde manier als de include() functie met een klein verschil. Als een include() functie mislukt wordt er een waarschuwing gegeven maar de browser gaat verder met de uitvoer van het script. Bij de require() functie wordt er een error melding getoond en de browser stopt met de uitvoer van het script.

Maak een HTML-document met de inhoud van de statische (header) koptekst en een PHP-fragment om de paginatitel te schrijven. <!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8"> <title> echo $page_title; </title> <link rel="stylesheet" href="includes/style.css"> </head> <body> <header><h>page Header</h></header> Maak een HTML-document met voettekstinhoud (footer). <footer><p>page Footer</p></footer> </body> </html> Maak een map met de naam "includes" in /htdocs en sla beide 3 documenten op als header.html en footer.html. 4 Maak een CSS-stijlblad om de kop- en voettekstinhoud (en regels voor de presenteren van de latere voorbeelden) header > h border-bottom: px dashed black ; font-style: italic ; font-size: x- large; footer > p border-top: px dashed black ; font-style: italic ; table border-spacing:5px; width:530px; th color:#fff; background:#000; text-align:left; td border-bottom:px solid black; background:#f0f0f0; padding:3px; textalign:left; vertical-align:top; p#err_msg color:#f00; font-weight:bold; 5 6 Sla het stijlblad op in de map / includes. Maak een PHP-script dat de titel van de webpagina instelt en een formulier omgeeft met kop- en voettekst. $page_title = 'PHP Include' ; include ( 'includes/header.html' ) ; echo '<form action="include.php" method="post"> <p>name: <input type="text" name="name"> </p> <p>email: <input type="text" name="email" ></p> <p><input type="submit"></p> </form>' ; include ( 'includes/footer.html' ) ;

7 Sla het PHP-script in /htdocs op als include.php en open het vervolgens via localhost om de paginatitel en een formulier omgeven door statische inhoud te bekijken. Verbonden informatie toevoegen PHP gedefinieerde 'superglobal'-variabelen, zoals de $_SERVER array variabele die de paginaverzoekmethode opslaat en de $_SESSION array variabele die gebruikersgegevens opslaat over pagina's van een website totdat de gebruiker stopt, zijn toegankelijk in alle scopes van elk script. Wanneer een HTML-formulier gegevens verzendt via de POST-methode, slaat de array $_POST de formulierwaarden op in arrayelementen met dezelfde naam. De waarde van een ingediend veld met de naam "stad" is dus toegankelijk via $_POST['stad']. Op dezelfde manier slaat de array $_GET de waarden op in arrayelementen wanneer gegevens worden ingediend met de methode GET. De waarde van de ingediende gegeven met de naam "id" is dus toegankelijk via $_get['id']. Dit wordt meestal gebruikt om gegevens naar een script te verzenden door een name = value toe te voegen aan de URL in een HTML-hyperlink zoals dit: <a href= www.voorbeeld.com/script.php?id= > Het script dat de gegevens ontvangt, benoemt door de hyperlink, kan dan de gepasseerde waarde gebruiken om een antwoord te bepalen. Informatie verstuurd met de POST methode zijn niet zichtbaar in the URL, die met de GET methode wel.

Maak een HTML-document met een PHP-script dat een element met de naam "id" zoekt binnen de array $_GET. # Handle the submitted link data. if ( isset( $_GET['id'] ) ) $id = $_GET['id'] ; switch( $id ) case : echo 'Konijn selected<hr>' ; break ; case : echo 'Hond selected<hr>' ; break ; case 3 : echo 'Poes selected<hr>' ; break ; # Display hyperlinks with appended id values. echo '<h>selecteer een vriend</h>' ; echo ' <p><a href="link.php?id=">konijn</a> ' ; echo ' <a href="link.php?id=">hond</a> ' ; echo ' <a href="link.php?id=3">kat</a></p>' ; Sla het PHP-script in /htdocs op als link.php en open het vervolgens via localhost om de paginatitel en klik op de koppelingen om de antwoorden voor de doorgegeven waarden te bekijken. Locatie verplaatsen PHP biedt een header () -functie die een argument accepteert om een onbewerkte HTTP-"header" op te geven die naar de webbrowser moet worden verzonden. Meest nuttig is dat de PHP-header () -functie de "Locatie" -header kan instellen om de browser naar een nieuwe pagina te leiden met behulp van deze syntaxis: Header( Location: www.voorbeeld.com/page.php ); Gebruikersgegevens kunnen worden bewaard bij het verplaatsen naar een nieuwe pagina door deze eerst op te slaan in de speciale array-array PHP $_SESSION. Dit is pas mogelijk wanneer de functie session_start() is aangeroepen in het script. Variabele waarden kunnen vervolgens worden opgeslagen in elementen met dezelfde naam van de array $ _SESSION, zodat ze beschikbaar

worden vanaf andere pagina's op de website totdat de gebruiker de site afsluit of totdat de functie session_destroy() in het script wordt aangeroepen. Maak een HTML-document met een PHP-script dat een element met de naam "id" binnen de array $_POST zoekt. if ( isset( $_POST['id'] ) ) $id = $_POST['id'] ; if( $id== 3 ) session_start() ; $_SESSION['id'] = $id ; header( 'Location: location.php' ) ; exit() ; echo "<p>$id is an incorrect ID!</p>" ; echo ' <form action="header.php" method="post"> <fieldset> <legend>enter Your User ID</legend> <p>id : <input type="text" name="id"></p> </fieldset> <input type="submit"> </form> ' ; Sla het PHP-script in /htdocs op als header.php 3 Maak een doel-html-document met daarin een PHP-script om de behouden $ array-waarde $ _SESSION weer te geven. session_start() ; if ( isset( $_SESSION['id'] ) ) $id = $_SESSION['id'] ; echo "Welcome user ID #$id" ;

4 Sla dit document op als location.php in /htdocs en open header.php via localhost en geef een id-waarde mee om de resultaten te zien.