|
|
|
| Есть стандартная форма регистрации. Данные передаются методом post обработчику. Возможно ли сделать так, чтобы эти же данные без дополнительных нажатий (промежуточных страниц) передавались еще одному обработчику, который будет высылать эти данные на конкретный e-mail? | |
|
|
|
|
|
|
|
для: Gandzas
(06.02.2007 в 02:08)
| | Наверное, можно второй обработчик подинклудить в первый. | |
|
|
|
|
|
|
|
для: antf
(06.02.2007 в 02:17)
| | а до второго обработчика? Чтобы основной обработчик вообще не трогать? | |
|
|
|
|
|
|
|
для: Gandzas
(06.02.2007 в 02:26)
| | А почему нет? просто в код формы регистрации переназначить обработчик с первого на второй и уже во втором обработчике вызывать первый - инклудом или через сокеты - что ближе.
ну или как вариант - можно попробовать просто JS-скриптами сабмитить с переназначением обработчика после первого сабмита, но думаю, что не прокатит =((( все-таки не многопоточность ;) | |
|
|
|
|
|
|
|
для: Gandzas
(06.02.2007 в 02:08)
| | Нет. Не выйдет. | |
|
|
|
|
|
|
|
для: Trianon
(06.02.2007 в 10:44)
| | что не выйдет =) ты ж конкретнее говори - если про JS - так я сразу сказал, что не прокатит (а сомнения и надежду на "прокатит" никто не отменял)... а вот если ты про переопределение обработчика - то уж будь любезен обосновать =) - мне и самому интересно, почему нет. | |
|
|
|
|
|
|
|
для: ZuArt
(06.02.2007 в 10:47)
| | Внимательно читайте постановку задачи:
... без дополнительных нажатий (промежуточных страниц) передавались .... | |
|
|
|
|
|
|
|
для: Trianon
(06.02.2007 в 10:49)
| | Отвечаю - читай внимательно - промежуточных СТРАНИЦ!!! Второй скрипт и не будет ничего выводить - отработал втихую и передал управление первому (основному), который уже и будет выводить СТРАНИЦУ!!!
Страница - это то, что отображает браузер - а скриптов, которые могут создавать ОДНУ страницу может быть сколько угодно и каждый может выполнять свою функцию! | |
|
|
|
|
|
|
|
для: ZuArt
(06.02.2007 в 10:55)
| | Основному скрипту придут некорректные данные клиента. Как минимум - REMOTE_ADDR | |
|
|
|
|
|
|
|
для: Trianon
(06.02.2007 в 10:58)
| | С какого перепугу такая уверенность? оператор include изучали? как он работает в курсе???
Объясню - интерпретатор при обнаружении данного оператора обращается к указанному скрипту и выполняет ЕГО код последовательно до момента завершения работы скрипта, затем возвращается в первый скрипт... Соответственно, если не менять переменные окружения, то они остануться теми, которые и должны быть... Кроме тех, которые содержат в себе имя доп скрипта, но ничего не мешает их переназначить на нужные...
принцип работы...
в странице было: <form action="script.php">...</form>
делаем <form action="script2.php">...</form>
содержание script2.php
<?
дополнительный код, который необходимо выполнить - БЕЗ изменения переменных окружения
замена переменных типа $_SERVER["SCRIPT_NAME"] - имя script2.php заменяем на scrip.php
include ("script.php");
?> | |
|
|
|
|
|
|
|
для: ZuArt
(06.02.2007 в 11:09)
| | Это один обработчик. А сколько он в себя файлов включает - формы не касается.
Как ваш код будет работать если обработчики находятся на разных сайтах, например? | |
|
|
|
|
|
|
|
для: Loki
(06.02.2007 в 11:16)
| | "Это один обработчик. А сколько он в себя файлов включает - формы не касается." - вот про то и говорю =)
"обработчики находятся на разных сайтах" - ну что тут скажешь - ХЗ, т.к. сталкивался с такими случаями, когда скрипт с другого хостера можно и инклюдить, но в большинстве случаев тока через сокеты =(
Если оригинальный обработчик не юзает переменные типа указанного выше REMOTE_ADDR - то вполне возможно, просто придется к вызову скрипта еще и параметры $_GET + $_POST (может еще и кукисы) передавать =(... Тут уже зависит от кода основного скрипта. | |
|
|
|
|
|
|
|
для: ZuArt
(06.02.2007 в 11:30)
| | Попробуй через JS
<script>
function foo(form) {
document.form.action = 'first.php';
document.form.submit();
document.form.action = 'second.php';
document.form.submit();
}
</scrip>
<form>
foo
bar
<input type="button" onclick="foo(this.form);">
</form>
|
| |
|
|
|