EOMY.NET
Хостинг EOMY.NET: Форум поддержки
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
RSS Feed  

php скрипт изменяющий значения формы

 
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB
php скрипт изменяющий значения формы
Автор Сообщение
SergejFedosov
11 1110 1000
11 1110 1000


Зарегистрирован: 18.08.2006
Сообщения: 1173

4057 Монеты

СообщениеДобавлено: Пт, 24 Сен, 2010 16:28    Заголовок сообщения: php скрипт изменяющий значения формы Ответить с цитатой

Прошу помочь написать php-скрипт изменяющий значение action="***" в теге <form> в зависимости от выбора пункта в выпадающем списке <select> той же формы.
_________________
Полный церковно-славянский словарь
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
[LP]LordPro.teus
Призрак Лорда
Призрак Лорда


Зарегистрирован: 26.07.2007
Сообщения: 5123

44732 Монеты

СообщениеДобавлено: Пт, 24 Сен, 2010 16:46    Заголовок сообщения: Ответить с цитатой

SergejFedosov
Вы хотели сказать JS-скрипт?.. PHP на стороне клиента ведь не срабатывает. Вам нужно сразу менять или перегружая страницу?
_________________

А ведь еще не поздно смотаться на Азовское море, согреться на солнышке...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
SergejFedosov
11 1110 1000
11 1110 1000


Зарегистрирован: 18.08.2006
Сообщения: 1173

4057 Монеты

СообщениеДобавлено: Пт, 24 Сен, 2010 17:00    Заголовок сообщения: Ответить с цитатой

Просто менять значение action в теге <form>. Перезагрузка страницы не нужна.
_________________
Полный церковно-славянский словарь
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
[LP]LordPro.teus
Призрак Лорда
Призрак Лорда


Зарегистрирован: 26.07.2007
Сообщения: 5123

44732 Монеты

СообщениеДобавлено: Пт, 24 Сен, 2010 17:20    Заголовок сообщения: Ответить с цитатой

SergejFedosov
ответил в другой теме
_________________

А ведь еще не поздно смотаться на Азовское море, согреться на солнышке...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
SergejFedosov
11 1110 1000
11 1110 1000


Зарегистрирован: 18.08.2006
Сообщения: 1173

4057 Монеты

СообщениеДобавлено: Вт, 05 Окт, 2010 14:49    Заголовок сообщения: Ответить с цитатой

LordPro.teus, спасибо.

Не хочу создавать новую тему, спрошу здесь.

Есть следующие скрипт и форма, отсылающие заявки в зависимости от страны проживания клиента на URLRU или URLUKR:

Код:

<script>
  function countryCode(){
    if (document.getElementById("selectCountry").selectedIndex == 1) {
      document.getElementById("edi").value = "+7";
      document.getElementById("myForm").action = "URLRU";
    }//if
       
    if (document.getElementById("selectCountry").selectedIndex == 2) {
      document.getElementById("edi").value = "+380";
      document.getElementById("myForm").action = "URLUKR";
    }//if 
  }//function countryCode
</script>

<form method="POST" action="mistake.htm" accept-charset="utf-8" id = "myForm">

<select onchange="countryCode()" name="D1" id = "selectCountry">
<option value="C">Выберите страну проживания...</option>
<option value="A">Россия</option>
<option value="B">Украина</option>
</select><br><br>

ФИО: <input type="text" name="name" size="40"><br>

Контактный телефон: <input type="text" id="edi" name="phone" size="21"><br><br>

<center><input type="submit" value="Сделать заказ"></form></center>

</form>


Что нужно добавить, чтобы форма передавала данные не только в указанные URL, но и скрипту mail.php, отсылающему данные в email?

Скрипт mail.php:

Код:

<?
if (isset($_POST['ok'])) {
if (mail('myemail@gmail.com','Form data',"FIO:\n{$_POST['name']}\nPhone\n{$_POST['phone']}")) $a=true;
}
if (isset($a)) {
?>
Ваша заявка отправлена. <a href='index.htm'>Возврат на сайт</a>.
<? } ?>

_________________
Полный церковно-славянский словарь
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
[LP]LordPro.teus
Призрак Лорда
Призрак Лорда


Зарегистрирован: 26.07.2007
Сообщения: 5123

44732 Монеты

СообщениеДобавлено: Вт, 05 Окт, 2010 14:57    Заголовок сообщения: Ответить с цитатой

SergejFedosov
тут уж только Ajax или CURL (для отправки одним скриптом данных другому с серверной стороны)... т.к. в нормальных условиях форма не должна (и не может) отправляться двум различным скриптам
_________________

А ведь еще не поздно смотаться на Азовское море, согреться на солнышке...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
SergejFedosov
11 1110 1000
11 1110 1000


Зарегистрирован: 18.08.2006
Сообщения: 1173

4057 Монеты

СообщениеДобавлено: Вт, 05 Окт, 2010 15:05    Заголовок сообщения: Ответить с цитатой

LordPro.teus, а форма не может передать данные скрипту, который затем передаст их в 2 реципиента?
_________________
Полный церковно-славянский словарь
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
[LP]LordPro.teus
Призрак Лорда
Призрак Лорда


Зарегистрирован: 26.07.2007
Сообщения: 5123

44732 Монеты

СообщениеДобавлено: Вт, 05 Окт, 2010 15:22    Заголовок сообщения: Ответить с цитатой

SergejFedosov
Может, разумеется. Но это уже не HTML, а PHP. Одна часть скрипта отправляет письмо, вторая - отправляет через CURL/сокеты данные скрипту на сайте банка. Под вопросом, впрочем, куда вы дальше хотите самого пользователя деть - послать на сайт банка - он не будет ассоциирован с формой, оставить у себя - тоже непонятно, зачем. Как вариант - по отправке формы пересылаете пользователя на скрипт, отправляющий письмо, после чего он должен вывести ту же форму (но уже невидимо, с текстом вроде "Ждите") - и автоматически отправить форму уже на сайт банка, выполнив form.submit() через JS.
_________________

А ведь еще не поздно смотаться на Азовское море, согреться на солнышке...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
SergejFedosov
11 1110 1000
11 1110 1000


Зарегистрирован: 18.08.2006
Сообщения: 1173

4057 Монеты

СообщениеДобавлено: Вт, 05 Окт, 2010 16:33    Заголовок сообщения: Ответить с цитатой

Цитата:
Но это уже не HTML, а PHP.


Так. Это ведь и раздел форума о php.


Цитата:
Под вопросом, впрочем, куда вы дальше хотите самого пользователя деть - послать на сайт банка - он не будет ассоциирован с формой...


Спасибо за уточнение. Собственно, чего ему на сайте банка делать? В коде, что Вы любезно написале мне ранее, он попадает на сгенирированную страничку с текстом: Ваша заявка отправлена. <a href='index.htm'>Возврат на сайт</a>. Меня вполне устроит такой вариант. Или, что еще лучше, отправка его на страницу prinjato.htm.
_________________
Полный церковно-славянский словарь
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
SergejFedosov
11 1110 1000
11 1110 1000


Зарегистрирован: 18.08.2006
Сообщения: 1173

4057 Монеты

СообщениеДобавлено: Вт, 05 Окт, 2010 16:44    Заголовок сообщения: Ответить с цитатой

Т.е. я прошу улучшить скрипт:

Код:

<?
if (isset($_POST['ok'])) {
if (mail('myemail@gmail.com','Form data',"FIO:\n{$_POST['name']}\nPhone\n{$_POST['phone']}")) $a=true;
}
if (isset($a)) {
?>
Ваша заявка отправлена. <a href='index.htm'>Возврат на сайт</a>.
<? } ?>


чтобы кроме отправки данных name и phone в email он отправлял бы их в URL и переводил пользователя на страницу prinjato.htm.
_________________
Полный церковно-славянский словарь
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
[LP]LordPro.teus
Призрак Лорда
Призрак Лорда


Зарегистрирован: 26.07.2007
Сообщения: 5123

44732 Монеты

СообщениеДобавлено: Вт, 05 Окт, 2010 17:21    Заголовок сообщения: Ответить с цитатой

SergejFedosov
Все, дошло Wink Прошу прощения, излишне усложнил схему, из-за чего неправильно понял задачу.
1) action формы ставим соответственно скрипту отправки письма
2) страну передаем либо обычным select'ом (что проще), либо через добавление параметра в адрес скрипта (?country=X) - в чем, на самом деле, нет никакой особой нужды, select удобнее
3) после отправки письма выполняем следующий код:
Код:
Header('Location: mysite.com/sent'.$x.'.html');

Где $x - та переменная в которой вы передаете страну. Соответственно, вам нужно 2 HTML-страницы с именем sent+страна.html
Общая схема такова
_________________

А ведь еще не поздно смотаться на Азовское море, согреться на солнышке...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
SergejFedosov
11 1110 1000
11 1110 1000


Зарегистрирован: 18.08.2006
Сообщения: 1173

4057 Монеты

СообщениеДобавлено: Вт, 05 Окт, 2010 18:15    Заголовок сообщения: Ответить с цитатой

[LP]LordPro.teus писал(а):
после отправки письма выполняем следующий код:
Код:
Header('Location: mysite.com/sent'.$x.'.html');

Где $x - та переменная в которой вы передаете страну. Соответственно, вам нужно 2 HTML-страницы с именем sent+страна.html
Общая схема такова


Я полагал, что в существующем коде:

Код:

<script>
  function countryCode(){
    if (document.getElementById("selectCountry").selectedIndex == 1) {
      document.getElementById("edi").value = "+7";
      document.getElementById("myForm").action = "URLRU";
    }//if
       
    if (document.getElementById("selectCountry").selectedIndex == 2) {
      document.getElementById("edi").value = "+380";
      document.getElementById("myForm").action = "URLUKR";
    }//if
  }//function countryCode
</script>

<form method="POST" action="mistake.htm" accept-charset="utf-8" id = "myForm">

<select onchange="countryCode()" name="D1" id = "selectCountry">
<option value="C">Выберите страну проживания...</option>
<option value="A">Россия</option>
<option value="B">Украина</option>
</select><br><br>

ФИО: <input type="text" name="name" size="40"><br>

Контактный телефон: <input type="text" id="edi" name="phone" size="21"><br><br>

<center><input type="submit" value="Сделать заказ"></form></center>

</form>


URLRU и URLUKR следует заменить однотипными скриптами ru.php и ukr.php , которые: а) отсылают данные name и phone в email myemail@gmail.com, б) передают те же данные в ulr URLRU и URLUKR соответственно (это разные url-адреса на разных сайтах), в) перенаправляют пользователя на страницу prinjato.htm. Вопрос, собственно, в написании этого ru.php (ukr.php) скрипта. Я не знаком даже с основами php.
_________________
Полный церковно-славянский словарь
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Monarx
Гость





0 Монеты

СообщениеДобавлено: Чт, 07 Окт, 2010 20:22    Заголовок сообщения: Re: php скрипт изменяющий значения формы Ответить с цитатой

SergejFedosov писал(а):
Прошу помочь написать php-скрипт изменяющий значение action="***" в теге <form> в зависимости от выбора пункта в выпадающем списке <select> той же формы.


и зачем забор городить? ведь можно в одном акшене два обработчика прописать через if
Вернуться к началу
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB Часовой пояс: GMT
Страница 1 из 1

 


Rambler's Top100   Рейтинг@Mail.ru    



Powered by phpBB © 2001, 2005 phpBB Group