⊗ppPmSsFr 322 of 447 menu

Seje in obrazci v PHP

Recimo, da imamo dve PHP datoteki. V datoteki test1.php postavimo obrazec, ki vpraša uporabnika dve številki:

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

V tej isti datoteki postavimo kodo za obdelavo obrazca. V tej kodi bomo podatke iz vnosnih polj zapisali v sejo:

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

Pomemben odtenek: v datoteki mora biti koda za obdelavo obrazca postavljena pred sam obrazec. Zakaj: ker v tej kodi delamo s sejo, in zato ne sme biti nobenega izpisa na zaslon pred tem.

Sedaj v datoteki test2.php poiščimo vsoto števil, shranjenih v seji:

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

V kakšnem zaporedju naj vse to deluje? Najprej uporabnik obišče stran test1.php, izpolni obrazec in pritisne na gumb. Po tem spet pride na test1.php, vendar že z oddanimi podatki obrazca. Pri tem pride v pogoj, v katerem zapišemo podatke obrazca v sejo.

Nato mora uporabnik ročno obiskati stran test2.php - in tam bo videl vsoto vnešenih števil.

Lahko se vprašate: zakaj tako komplicirati? Saj bi lahko obrazec takoj poslali na stran test2.php. Bistvo je v tem, da je v tem primeru priročnost v tem, da sta sam obrazec in koda njegove obdelave nameščena na isti strani. To seveda ni vedno priročno, vendar včasih je potrebno.

Na eni strani z uporabo obrazca vprašajte uporabnika priimek, ime in starost. Zapišite te podatke v sejo. Pri obisku druge strane izpišite te podatke na zaslon.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni