Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработка формы, php&form 
:(
    Опции темы
Another
Дата 1.6.2007, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 17.6.2006

Репутация: нет
Всего: -2



В скрипте есть:
Код

$tpl_out=str_replace('{lk}',trim($_POST['lk']),$tpl_out);


Нужна сделать так:
1)При нажатии на кнопку должна появлятся новая форма с новыми параметрами
(например:
была такой -  <input type="text" name="lk" size="25" value="">
добавился такой - <input type="text" name="lk1" size="25" value="">)
при последующем нажатии, опять с новым параметром. 
Причем страница не должна перезагружаться(java поможет smile ).
2)+Должен появится код с новыми пораметрами(
Например такой - $tpl_out=str_replace('{lk}',trim($_POST['lk1']),$tpl_out);
)

Обьясняю зачем это нужно... 
Этот скрипт заменяет слова в тексте. В данном случае заменяет {lk} на $_POST['lk'])
Нужно чоб слова для замены можно было добавлять прям со страницы...

 ! 
PARROT
Модератор: Название темы должно отражать ее суть!


Это сообщение отредактировал(а) PARROT - 3.6.2007, 16:12
PM MAIL   Вверх
BuShaRt
Дата 2.6.2007, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Что я могу сказать? крута smile


Цитата(Another @  1.6.2007,  21:53 Найти цитируемый пост)
Причем страница не должна перезагружаться(java поможет  ).

Поможет, только не совсем Java, а наверно JavaScript. ;)
PM MAIL   Вверх
Golda
Дата 2.6.2007, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

Репутация: 20
Всего: 42



Объедините однотипные элементы формы в массив и в php обрабатывайте все элементы массива

Код

<input type="text" name="lk[]" size="25" value="">




--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
Another
Дата 2.6.2007, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 17.6.2006

Репутация: нет
Всего: -2



Цитата(Golda @  2.6.2007,  09:08 Найти цитируемый пост)
1:<input type="text" name="lk[]" size="25" value="">

Чот как-то не понятно...
PM MAIL   Вверх
Golda
Дата 2.6.2007, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

Репутация: 20
Всего: 42



Ваш javascript-код должен для каждого нового поля ввода создавать input c name='lk[]'. Тогда в php придет массив ($_POST['lk'] - массив)

А дальше 

Код

//$_POST['lk'] = array('a1', 'a2', 'a3', 'a4');
$tpl_out = 'something {lk1} something else {lk2}';
function posted($matches)
{
  // as usual: $matches[0] is the complete match
  // $matches[1] the match for the first subpattern
  // enclosed in '(...)' and so on
  return $_POST['lk'][$matches[1]];
}

echo preg_replace_callback('/{lk(\d+)}/','posted',$tpl_out);



Это сообщение отредактировал(а) Golda - 2.6.2007, 19:25


--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
Another
Дата 2.6.2007, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 17.6.2006

Репутация: нет
Всего: -2



 smile 
Можно конкретный, рабочий премер. Плиззз... smile 
PM MAIL   Вверх
Golda
Дата 2.6.2007, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

Репутация: 20
Всего: 42



Рабочий пример чего? java-script? Пример php-обработки и так живой. Передайте туда что-нибудь методом post, или, на худой конец, раскоментируйте первую строку, и смотрите. Если что-то непонятно, задавайте конкретные вопросы.


--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
Another
Дата 3.6.2007, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 17.6.2006

Репутация: нет
Всего: -2



Цитата(Golda @  2.6.2007,  23:39 Найти цитируемый пост)
Рабочий пример чего? java-script?

Ну-у, если можна

PM MAIL   Вверх
BuShaRt
Дата 3.6.2007, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Цитата(Another @  3.6.2007,  13:59 Найти цитируемый пост)
Форум web-мастеров - http://zloforum.com/forum/

веб - мастера не знаю, чем JavaScript отличаеться от Java и как с ним работать?
PM MAIL   Вверх
BuShaRt
Дата 3.6.2007, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Цитата(Another @  1.6.2007,  21:53 Найти цитируемый пост)
Причем страница не должна перезагружаться(java поможет  ).


PM MAIL   Вверх
Another
Дата 3.6.2007, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 17.6.2006

Репутация: нет
Всего: -2



Я имел ввиду JavaScript.
PM MAIL   Вверх
Golda
Дата 3.6.2007, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

Репутация: 20
Всего: 42



Another, если Вы хотите, чтобы Вам помогали, успокойтесь и не используйте нецензурную лексику.  Вечером будет время, напишу пример скрипта, если никто раньше не поможет


--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
Golda
Дата 4.6.2007, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

Репутация: 20
Всего: 42



Примерно так

Код

<?php
function posted($matches)
{
  // as usual: $matches[0] is the complete match
  // $matches[1] the match for the first subpattern
  // enclosed in '(...)' and so on
  return $_POST['lk'][$matches[1]];
}

if ($_POST['submit']) {
    $tpl_out = 'something {lk0} something else {lk1} and {lk2}';
    echo preg_replace_callback('/{lk(\d+)}/','posted',$tpl_out);
} else {
?>
<html>
    <head>
        <title>title</title>
    </head>
    <body>
        <form method="post">
            <div id="container">
                <div>
                    <input type="button" value="Add field" name="add" onclick="add_field()"/>
                    <input type="submit" name="submit" value="Send"/>
                </div>
                <div>Field 1 <input type="text" name="lk[]"/></div>
            </div>
        </form>
        <script type="text/javascript">
            counter = 1;
            function add_field()
            {
                if (!document.getElementById) return;
                
                var objContainer = document.getElementById("container");
                var objSubContainer = document.createElement('div');
                var label = document.createTextNode('Field ' + (++counter) + ' ');
                var field = document.createElement('input');
                field.name = "lk[]";
                objSubContainer.appendChild(label);
                objSubContainer.appendChild(field);
                objContainer.appendChild(objSubContainer);
            }
        </script>
    </body>
</html>
<?
}



--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0552 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.