⊗ppPmSsFr 322 of 447 menu

Sessies en formulieren in PHP

Stel dat we twee PHP bestanden hebben. Laten we in bestand test1.php een formulier plaatsen dat de gebruiker twee getallen vraagt:

<form method="GET"> <input name="num1"> <input name="num2"> <input type="submit"> </form>

In hetzelfde bestand plaatsen we de code voor het verwerken van het formulier. In deze code schrijven we de gegevens van de inputs naar de sessie:

<?php session_start(); if (!empty($_GET)) { $_SESSION['num1'] = $_GET['num1']; $_SESSION['num2'] = $_GET['num2']; } ?>

Belangrijk nuance: in het bestand moet de code voor het verwerken van het formulier vóór het formulier zelf staan. Waarom: omdat we in deze code met de sessie werken, en er dus geen uitvoer naar het scherm mag zijn voordat dit gebeurt.

Laten we nu in bestand test2.php de som van de getallen vinden, opgeslagen in de sessie:

<?php if (!empty($_SESSION)) { echo $_SESSION['num1'] + $_SESSION['num2']; } ?>

In welke volgorde moet dit allemaal werken? Eerst gaat de gebruiker naar pagina test1.php, vult het formulier in en drukt op de knop. Daarna komt hij weer op test1.php terecht, maar nu met de verzonden formuliergegevens. Hierbij komt hij in de voorwaarde, waarin we de formuliergegevens in de sessie schrijven.

Vervolgens moet de gebruiker handmatig naar pagina test2.php gaan - en daar zal hij de som van de ingevoerde getallen zien.

Je kunt vragen: waarom zo ingewikkeld doen? Want je kon het formulier direct naar de pagina test2.php sturen. Het punt is dat in dit geval het gemak is dat het formulier zelf en de code voor de verwerking ervan op één pagina staan. Dit is natuurlijk niet altijd handig, maar soms is het nodig.

Vraag op één pagina met behulp van een formulier van de gebruiker de achternaam, voornaam en leeftijd. Schrijf deze gegevens naar de sessie. Toon bij het gaan naar een andere pagina deze gegevens op het scherm.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren