За последние 24 часа нас посетили 20510 программистов и 1096 роботов. Сейчас ищут 407 программистов ...

FormCacher - Кешер форм

Тема в разделе "Решения, алгоритмы", создана пользователем Mr.M.I.T., 8 авг 2009.

  1. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    Позволяет схранять значение полей формы и автоматом вставлять их в html код
    Поддерживает input(radio,text,checkbox),select,textarea
    работает с массивами (<input type='text' name='field[one][two]'>)
    может скешировать значения формы, пока не будут удалены

    Примеры в АРХИВЕ
    http://code.google.com/p/formcacher/downloads/list

    Зы. возможны баги, тестил крайне мало. норм. тестирование только в рабочих проектах
     
  2. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    вообще это удобно когда к примеру форма выводится по адресу /comments/ а обработка идёт /comments/add/ потом редирект

    тогда сохраняем их тут /comments/add/
    вставляем тут /comments/ и очищаем
     
  3. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    отредактировал 1 пост,
    Старую версию выложил по ошибке :)
     
  4. kostyl

    kostyl Guest

    толстоват чуть...
     
  5. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    ну хз, в 4 раза меньше Котеровского
     
  6. kostyl

    kostyl Guest

    Mr.M.I.T.
    Так, чтото я не вкурю. Он кеширует текст формы и всё? А в сессию зачем кешировать?
     
  7. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
  8. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    Во Пример для тя
    Код (PHP):
    1. <?
    2. switch($_GET['do']){
    3. case "add":
    4.   if($_POST['text']){
    5.        FormCacher::SetVar("text");
    6.        FormCacher::Save();
    7.        header("Refresh:2;url={$_SERVER['PHP_SELF']}");
    8.        print "Мы чё-то сделали";
    9.   }
    10. break;
    11. default;
    12.    print FormCacher::Proccess("
    13.       <form method=POST action='{$_SERVER['PHP_SELF']}?do=add'>
    14.           <input type='text' name='text'><input type=submit>
    15.       </form>
    16.    ");
    17.    FormCacher::Clear();
    18. }
    19. ?>
     
  9. kostyl

    kostyl Guest

    Mr.M.I.T.
    а, ну у меня просто технология другая....
     
  10. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
  11. kostyl

    kostyl Guest

    да стандартный MVC. Форма в шаблоне.
     
  12. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    kostyl
    а если несколько действий с одной формы?
    типа
    commnets/add/
    comments/add2/
     
  13. kostyl

    kostyl Guest

    PHP:
    1.  
    2. <form method="post" action="<?php echo $TPL_FORM_ACTION;?>">
    3. <input name="<?php echo $TPL_FORM_NAME;?>" type="submit"  value="<?php echo $TPL_FORM_L_SUBMIT;?>" />
    4.  
    Вообщем, обширное поле действий и кеширование и все остальное, это ж шаблон.
     
  14. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    kostyl
    ты не понял, я к тому что имена могут пересекаться

    а по шаблону, дык тебе нравится руками value прописывать?
     
  15. kostyl

    kostyl Guest

    да, я наверное не понял... как и сейчас чёто не пойму какие имена могут пересекаться...
    ну как сказать руками, это то же самое, что в твоем случае прописать наличие add в comments....
    Может мы о разном говорим?
     
  16. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    ээ ну я говорил про имена переменных в форме, вообще это я не по теме, а к тому что действие лучше выносить в отдельный адрес, а чтобы переменные сохранить(в случае ошибки например) кешировать их в сессию

    ээ =) я говорил про
    <input name="<?php echo $TPL_FORM_NAME;?>" type="submit" value="<?php echo $TPL_FORM_L_SUBMIT;?>" />
    сабж вставляет value="<?php echo $TPL_FORM_L_SUBMIT;?>" автоматом
    и не нужно ничего прописывать в шаблоне
     
  17. kostyl

    kostyl Guest

    а, теперь я понял. Да я просто, как бы это сказать, не хочу впутывать в код наличие каких то объектов напоминающих представление, чтобы не запутывать себя. Тобишь, мне удобнее отделять такое понятие как HTML форма или средство отправки данных, и переменные введенные пользователем на предыдущих шагах взаимодействия с сайтом. Я тоже могу их закешировать в другой функциональности, но не привязывает к понятию формы, а лучше привяжу к понятию action или чет-то там подобного...
     
  18. Mr.M.I.T., фигасе, ты мастер регулярных выражений
     
  19. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    kostyl
    ну тут то смысл в первую очередь в том чтобы руками не *баться прописывая всё это
    флоппик
    ну уж как умею, лучше не смог придумать ничё, да и не думал особо =)
     
  20. Мне идея нравится, не очень нравится реализация. Но как бы придумать почище и поуниверсальней - еще не знаю.
     
  21. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    флоппик
    и весить будет 30кб
    а вообще может DOM? я хотел чё-нибудь с ним придумать, но я с ним работал раза 2, так что...
     
  22. kostyl

    kostyl Guest

    Может просто сериализовать и сделать хэшь таблицу?
     
  23. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    kostyl
    зачем?
     
  24. kostyl

    kostyl Guest

    чтобы не парсить...
    Короче, не обращай внимания я не совсем до конца понял суть....
     
  25. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    суть в том чтобы автоматом "запоминать" значения полей формы
    ты скачай и запусти примеры, они в архиве
    а потом запусти их без ФормКешера
    всё наглядно поймёшь