⊗ppPmSsFr 322 of 447 menu

Sessioner og formularer i PHP

Lad os sige, at vi har to PHP-filer. Lad os i filen test1.php placere en formular, der spørger brugeren om to tal:

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

I samme fil placerer vi koden, der behandler formularen. I denne kode vil vi skrive inputdataene til sessionen:

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

En vigtig nuance: i filen skal koden til formularbehandling stå før selve formularen. Hvorfor: fordi vi i denne kode arbejder med sessionen, og derfor må der ikke være nogen output til skærmen før dette.

Lad os nu i filen test2.php finde summen af de tal, der er gemt i sessionen:

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

I hvilken rækkefølge skal alt dette fungere? Først går brugeren ind på siden test1.php, udfylder formularren og trykker på knappen. Derefter ender de igen på test1.php, men nu med de afsendte formulardata. På dette tidspunkt kommer de ind i betingelsen, hvor vi skriver formulardataene til sessionen.

Derefter skal brugeren manuelt gå ind på siden test2.php - og der vil de se summen af de indtastede tal.

Du kan spørge: hvorfor gøre det så indviklet? For man kunne jo bare have sendt formularen direkte til siden test2.php. Sagtens, men bekvemmeligheden i dette tilfælde er, at selve formularren og koden til dens behandling er placeret på samme side. Dette er selvfølgelig ikke altid bekvemt, men nogle gange er det nødvendigt.

På én side, brug en formular til at spørge brugeren om efternavn, fornavn og alder. Gem disse data i sessionen. Ved adgang til en anden side, vis disse data på skærmen.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis