Pull to refresh

Реализация интерактивного содержимого на PHP без БД и JS

Приветствую Хабралюдей!

Я довольно часто сталкивался с пользователями, которые, боясь XSS, совсем отключают JavaScript (особенно это касается Огнелиса). И если на стороне клиента интерактивные страницы создаются тривиально, то на PHP это далеко не столь очевидно. Возможно, подобная проблема не слишком важна (какое мне, вебмастеру, дело до мизерного процента чудаков-параноиков), но в виде упражнения я в своё время написал небольшой скрипт на PHP для реализации динамического содержимого в такой ситуации:


Представим, что мы проводим кастинг для нового фильма :) Необходим скрипт для того, чтобы соискатель указал свою профессию и навыки. У меня получилось примерно так:

  <form action="projects.php" method="post">
  <!--Данные отправляются самому себе-->
  <br>
  Показать форму
    <select name="role">
      <option value="">
      <option value="actor">Актер
      <option value="scen">Сценарист
      <option value="spec">Спецэффекты
    </select>
<input type="submit" name="show" value="показать">
<!--Из списка выбирается вакансия, в соответствии с которой инклюдятся файлы-->
</form>

<?php
if ($_POST["role"] != "")
     include ('./sys/projectrols/beg.php') //beg.php - общая  для всех 3х вариантов шапка
?>

<?php
     if ($_POST["role"]=="actor")
{
         include ('./sys/projectrols/actor.php');
         include('./sys/projectrols/dop.php'); // dop.php - общий для всех подвал

}
     if ($_POST["role"]=="scen")
{
         include ('./sys/projectrols/scen.php');
         include('./sys/projectrols/dop.php');

}
     if ($_POST["role"]=="spec")
{
         include ('./sys/projectrols/spec.php');
         include('./sys/projectrols/dop.php');
}
?>



Вот как это выглядит

Подобные извращения совершенно излишни в большинстве случаев, однако, как упражнение, довольно интересны.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.