⊗ppPmSsFr 322 of 447 menu

Сесии и форми в PHP

Нека имаме два PHP файла. Нека във файла test1.php поставим форма, която пита потребителя за две числа:

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

В същия файл ще поставим кода за обработка на формата. В този код ще запишем данните от input полетата в сесията:

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

Важен нюанс: във файла кодът за обработка на формата трябва да е преди самата форма. Защо: защото в този код работим със сесия, а следователно не трябва да има никаков изход на екрана преди това.

Нека сега във файла test2.php намерим сумата на числата, записани в сесията:

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

В каква последователност трябва да работи всичко това? Първо потребителят влиза в страницата test1.php, попълва формата и натиска бутона. След това отново попада в test1.php, но вече с изпратени данни от формата. При това попада в условието, в което записваме данните от формата в сесията.

След това потребителят трябва ръчно да влезе в страницата test2.php - и там ще види сумата на въведените числа.

Може да попитате: защо да правим толкова сложно? Все пак можеше веднага да изпратим формата към страницата test2.php. Работата е там, че в този случай удобството е, че самата форма и кодът за нейната обработка се намират на една страница. Такова, разбира се, не винаги е удобно, но понякога се налага.

На една страница с помощта на форма попитайте потребителя за фамилия, име и възраст. Запишете тези данни в сесията. При влизане в друга страница изведете тези данни на екрана.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне