Модераторы: Illuminaty
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выполнение обработки формы в IFRAME 
:(
    Опции темы
Micher
Дата 28.1.2008, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 13.1.2006
Где: г. Ижевск

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



Всем привет! Не знал в какую ветку воткнуть тему. В общем задача неновая, но не получается пока реализовать. Есть форма регистрации на странице, есть уже рабочий скрипт, который заносит все данные из этой формы и выдаёт разные(ненужные) сообщения об успешности регистрации. Нужно по нажатию кнопки отправки данных формы запустить этот скрипт и вернуться на исходную страницу. Есть идея как то через iframe скрытый это сделать, а как конкретно, не ясно. Заранее спасибо
PM MAIL   Вверх
bars80080
Дата 28.1.2008, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 50
Всего: 315



проще всего сделать это на серверной стороне, скажем php
засовываем и скрипт и форму регистрации в один файл:
Код

<? if(!empty($_POST['send']) {
// скрипт обработки данных
} ?>
<form method="post">
<!-- форма регистрации -->
<input type="submit" name="send" value="отправить" />
</form>


PM MAIL WWW   Вверх
Micher
Дата 28.1.2008, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 13.1.2006
Где: г. Ижевск

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



Цитата(bars80080 @ 28.1.2008,  16:48)
проще всего сделать это на серверной стороне, скажем php
засовываем и скрипт и форму регистрации в один файл:

В том то и дело, что скрипт, работающий с базой трогать нельзя(он во многих других местах используется), т.е. он принимает данные из формы методом POST, пишет в базу. Т.е. форма и скрипт отдельно получаются
PM MAIL   Вверх
bars80080
Дата 28.1.2008, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 50
Всего: 315



тогда всё делается чуть-чуть по-другому:
Код

<? if(!empty($_POST['send']) {
include('script.php'); // скрипт обработки данных
} ?>
<form method="post">
<!-- форма регистрации -->
<input type="submit" name="send" value="отправить" />
</form>

здесь скрипт подключается внутрь твоего файла
PM MAIL WWW   Вверх
Micher
Дата 29.1.2008, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 13.1.2006
Где: г. Ижевск

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



У меня html-страница генерится из XSTL, т.е. получается что-то вроде:
Код

<xsl:if test="какой-нибудь флаг отправки формы">
 <iframe src="script.php" width="1" height="1" border="0"></iframe>
</xsl:if>
<form method="post">
<!-- форма регистрации -->
<input type="submit" name="send" value="отправить" />
</form>


Просто нужно чтобы рузультатов работы скрипта не было видно
PM MAIL   Вверх
bars80080
Дата 29.1.2008, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 50
Всего: 315



чего я не предложу, задача усложняется, с xsl не знаком

1.сама форма должна быть видна? иначе как её пользователь заполнит
тогда, пожалуй, по-любому надо лезть в код скрипта, иначе как отследить момент отправки
2. исходная страница, на которую возвращаемся - та же с формой?

впрочем, может копнуть в следующую сторону:
Код

 <iframe src="" name="obr" width="1" height="1" border="0"></iframe>
<form action="script.php" method="post" target="obr">
<!-- форма регистрации -->
<input type="submit" name="send" value="отправить" />
</form>


п.с. вся задача, наверняка, высосана из пальца, наверняка существует простое решение
PM MAIL WWW   Вверх
Micher
Дата 29.1.2008, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 13.1.2006
Где: г. Ижевск

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



Цитата(bars80080 @ 29.1.2008,  12:44)
1.сама форма должна быть видна? иначе как её пользователь заполнит
тогда, пожалуй, по-любому надо лезть в код скрипта, иначе как отследить момент отправки
2. исходная страница, на которую возвращаемся - та же с формой?

впрочем, может копнуть в следующую сторону:
Код

 <iframe src="" name="obr" width="1" height="1" border="0"></iframe>
<form action="script.php" method="post" target="obr">
<!-- форма регистрации -->
<input type="submit" name="send" value="отправить" />
</form>


п.с. вся задача, наверняка, высосана из пальца, наверняка существует простое решение

Так и сделал, фрэйм сделал скрытым. Теперь вопрос, как обновить из фрейма родительскую страницу(когда уже скрипт регистрации выполнился)
PM MAIL   Вверх
bars80080
Дата 29.1.2008, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 50
Всего: 315



вот знаешь, если бы можно было покопаться в коде script.php, всё было бы отлично,
просто в конце дописали бы:
Код

<script>
function refpag() {
top.location.href = '?q=a';
}
refpag();
</script>
типа событие onload

может удастся как-то включить этот код? если не в сам скрипт, а прямо за ним

муть вобщем

Это сообщение отредактировал(а) bars80080 - 29.1.2008, 14:57
PM MAIL WWW   Вверх
Micher
Дата 29.1.2008, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 13.1.2006
Где: г. Ижевск

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



Тот скрипт точно сам никак менять нельзя. Я наверное зря не описал толком зачем всё это надо. Всё это регистрация нового пользователя. Т.е. человек вводит свои данные, они записываются в базу и пользователь ещё и автоматически залогинивается(это всё делает тот самый скрипт). Т.е. нужно послать данные формы тому скрипту и обновить исходну страницу(там где форма была)
PM MAIL   Вверх
bars80080
Дата 29.1.2008, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 50
Всего: 315



короче, последняя мысль,

Код
<iframe src="" name="obr" width="1" height="1" border="0"></iframe>
<form action="loader.php" method="post" target="obr">
<!-- форма регистрации -->
<input type="submit" name="send" value="отправить" />
</form>

делаем файл loader.php, на него и шлём данные формы,
внутри пишем что-то вроде (2 варианта):
1й - более фиговый
Код

<?
...
// приём и обработка данных
...
$file = 'script.php?per1='.$per1.'&per2='.$per2.'...';
$fp = fopen($file, 'r');
$qp = fread($fp, 10000);
fclose($fp);
?>
<script>
function refpag() {
top.location.href = '?q=a';
}
refpag();
</script>


но это от лукавого, расчитано только на то, что скрипт способен обработать и get переменные,
2й:
Код

<? if(!empty($_POST['send']) {
include('script.php'); // скрипт обработки данных
} ?>
<script>
function refpag() {
top.location.href = '?q=a';
}
refpag();
</script>



да и вообще, проще написать собственную форму

я б уже давно вытащил код этого скрипта, переписал бы его как мне надо и назвал script1.php
PM MAIL WWW   Вверх
Micher
Дата 29.1.2008, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 13.1.2006
Где: г. Ижевск

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



Плюнул, и так и сделал) Жаль, что не получилось так, как задумывал. Просто дублирование кода получилось
PM MAIL   Вверх
bars80080
Дата 29.1.2008, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 50
Всего: 315



лучше всего оптимизируется тот код, который ты сам и написал
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Вёрстка веб-сайтов | Следующая тема »


 




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


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

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