- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
<form id="form1" name="form1" method="post" action="2.php">
...
</form>
<?php session_start ();
?>
<?php
$_SESSION['dataa'] = $_POST['dataa'];
$_SESSION['datab'] = $_POST['datab'];
$_SESSION['datac'] = $_POST['datac'];
$_SESSION['datad'] = $_POST['datad'];
$_SESSION['datae'] = $_POST['datae'];
$_SESSION['dataf'] = $_POST['dataf'];
$_SESSION['datag'] = $_POST['datag'];
$_SESSION['datah'] = $_POST['datah'];
$_SESSION['datak'] = $_POST['datak'];
$_SESSION['datal'] = $_POST['datal'];
if ($_SESSION['dataa'] == "1") { include 'data/data1.php';};
if ($_SESSION['datab'] == "1") { include 'data/data2.php';};
if ($_SESSION['datac'] == "1") { include 'data/data3.php';};
if ($_SESSION['datad'] == "1") { include 'data/data4.php';};
if ($_SESSION['datae'] == "1") { include 'data/data5.php';};
if ($_SESSION['dataf'] == "1") { include 'data/data6.php';};
if ($_SESSION['datag'] == "1") { include 'data/data7.php';};
if ($_SESSION['datah'] == "1") { include 'data/data8.php';};
if ($_SESSION['datak'] == "1") { include 'data/data9.php';};
if ($_SESSION['datal'] == "1") { include 'data/data10.php';};
print_r ($_SESSION);
?>
<?php //if ($_SESSION['dataa'] == "1") { include 'data/data1.php';};?>
<p> </p>
<p> </p>
в 21м веке
Если бы в Си добавили эту возможность, то и он бы там не выжил.
Пришлось бы на ассемблере писать...
Ручное выделение памяти -- фишка си, с помощью которой можно решать сложные задачи. Иногда память НАДО выделять вручную. Представьте себе модуль ядра (драйвер например) , пологающийся на GC, и сразу станет все понятно.
Ручное управление сессиями -- не нужно никому и никогда. От него только ненужный бойлерплейт и тупые ошибки новичков (которым непонятно куда воткнуть сешн старт). Потому в нормальных платформах сессиями управляет контейнер (или сервер)
когда это удобно)
каждый раз писать session_start($_COOKIE['sess']); ?
Вам платят за строчки кода?
Имена сессий удобно задавать если например проект пишет пара прогеров один пишет модуль А другой модуль B так переменные в сессии находятся в глобальной зоне видимости может случится так что оба прогера запишут в сессию переменную с одним именем и может так случится ,что искать причину глюков они будут ох как долго. Поэтому заводится для каждого модуля имя сессии и все довольны и счастливы. Обмен между данными модулями происходит только чрез определенный интерфейс. И все ни какого говна.
2) ага)))) потому надо иметь 10 сессий и десять кук.
эта задача решается через неймспейсы. Есть такое понятие, лет 30 назад изобрели. Вроде бы в последних версиях PHP оно тоже появлется. С учетом того, что новинки доходят до мира ПХП в течение 30 лет, то можно думать что к 2030му году управление сессиями в пхп так же станет автоматическим, как в джаве или дотнете например
session_name устанавливает получае имя сессии
и кстати в пыхе можно автоматом включать сессии.
надо только php.ini поправить по умолчнию авто сессии отключены.
ну нету в похапе нейм спейсов были вот но разрабы сказали что отменят их. ИМХО сессия это то глобальная зона неймспейсы там не действуют но может я и ошибаюсь.
глобальные функции в действии. причем не ресурс передают (как в нормальном процедурном стиле) а просто глобально изменяют ID. Прекрасный пример того, что API PHP -- говно даже по меркам 1976го года.
в Вашем примере с двумя разработчиками -- каждый должен вызвать session_id -- это будет ад) особенно, если вдруг случайнов пхп введут многопоточность
2) неймспейсы можно иметь у имен переменных в сессии
когда ты уже вырастешь???
это бессмыслено
это все равно, как явно передавать два перевода строки после заголовков перед телом (см спецификацию http). Так делали в perl/cgi в 97м году
надеюсь, MIME тоже руками реализовано?
а smtp?
html, картинка и текст (для тех, кто html не понима) ?