![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
sokpet |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 13.1.2008 Репутация: нет Всего: нет |
Добрый день.
Помогите плиз. Имеется форма обратной связи (сontact.html) и обработчик (contact.php) на который ссылается форма. (Код ниже) Все работает. Теперь появилась новая задача: существует 2 страницы с продукцией (product.html и product_2.html), рядом с каждым продуктом стоит check box и ссылка для запроса доп. информации Вопрос: как сделать чтобы посетитель отметив необходимый артикул (один или несколько, на одной страницы или на двух) при нажатии ссылки переходил бы на страницу формы обратной связи на которой уже автоматичеки было бы заполнено поле Тема $fields["Subject"] = "Subject"; (в зависимости от выбранных артикулов) и сообщение отправлялось бы на другой почтовый ящик. (т.е. если посетитель входит на форму обр. связи на прямую = посылаем на почт. ящик1 и тему вводит сам, И если входит на форму через страницы с продукцией = посылаем на почт. ящик 2 и тема вставляется автоматически). В данном коде все письма идут только на второй ящик. А в REFERER всегда попадает только contact.html даже если пришел со страницы product.html. КАК ИСПРАВИТЬ?????
Если эта тема уже обсуждалась то дайте пожалуйста линк. Заранее спасибо |
|||
|
||||
Pitlord |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
Просто пользуйся дополнительным GET-параметром.
|
|||
|
||||
sokpet |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 13.1.2008 Репутация: нет Всего: нет |
а подробнее про доп. GET можно?
|
|||
|
||||
Pitlord |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
Для этого страница с HTML-формой должна динамически формироваться, конечно. На страницах с продуктами необходимо формировать ссылку на страницу с формой с дополнительным GET-параметром. Например:
В contact_form.php в завимости от него составлять необходимую форму. |
|||
|
||||
sokpet |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 13.1.2008 Репутация: нет Всего: нет |
в том то и дело, что там только статика. Других вариантов нет?
|
|||
|
||||
Simpliest |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: 1 Всего: 3 |
куки и яваскрипт.
При условии что формы у тебя не на разных доменах. |
|||
|
||||
sokpet |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 13.1.2008 Репутация: нет Всего: нет |
а с кукисами где что добавлять нужно? На яве не желательно т-к- у многих она выключена. Формы на одном домене.
Т.е. если я правильно рассуждаю то должны быть формы в product.html + product_2.html (там где клиент будет выбирать продукцию в чекбоксах) и contact.html (cама форма обр- связи) Заранее спасибо |
|||
|
||||
Pitlord |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
||||
|
||||
sokpet |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 13.1.2008 Репутация: нет Всего: нет |
к сожалению с динамикой не силен.
|
|||
|
||||
Simpliest |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: 1 Всего: 3 |
тогда у тебя нет вариантов для решения этой задачи. Добавлено через 1 минуту и 16 секунд В них и нужно добавлять то значение, которое тебе нужно подставлять на другой форме. В одном месте сохранил в куки, в другом месте взял из кук и вставил в html. |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Для начала я бы решал эту задачу для одной формы...
|
|||
|
||||
sokpet |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 13.1.2008 Репутация: нет Всего: нет |
я через одну форму и пытаюсь решить. Там 60 страниц и все статика (в XHTML и CSS рублю) только формуляр через РНР (вот тут сложнее) и захотели чуть-чуть усложнитить задачу. К сожалению РНР за пару дней не выучить (если только под гипнозом!)
Может хелпните (желательно без общих фраз) |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Ну да, конечно. форму никто не видел, как она работает никто не знает, но отвечать надо без общих фраз.
Форма с чекбоксами есть? Выбранные параметры из нее в страницу с формой обратной связи передаются? В адресной строке они видны? |
|||
|
||||
sokpet |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 13.1.2008 Репутация: нет Всего: нет |
сейчас все выложу.
|
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
выкладывать ничего не надо.
надо ответить на вопросы, которые я задал |
|||
|
||||
sokpet |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 13.1.2008 Репутация: нет Всего: нет |
Это форма ofertas.html
Это форма из contactos.html
Ну а задача излагалась выше... Заранее спасибо за помощь |
||||||
|
|||||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Задачу излагает преподаватель на экзамене.
А здесь вы делаете свою работу, за которую вам платят деньги, и спрашиваете совета, как лучше сделать. Как я это понимаю. Начнем с того, что пока файл contactos будет иметь расширение html, никакие операции на РНР в нем не будут возможны. следовательно, надо переименовать в contactos.php Далее. В ofertas убрать method="post", а в action наоборот прописать contactos.php В итоге после выбора в ofertas, у нас должен открыться contactos.php с выбранными параметрами в адресной строке. А в теле файла если написать
то будут выведены выбранные чекбоксы. Когда это заработает, перейдем к следующему этапу Это сообщение отредактировал(а) Ипатьев - 7.12.2009, 18:24 |
|||
|
||||
sokpet |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 13.1.2008 Репутация: нет Всего: нет |
Спасибо, переделал как ты сказал,
только <pre><?PHP print_r($_GET['art']) ?></pre> поставил в
так как мне нужно чтобы именно в этом поле все заполнялось. Теперь заполняет, только почему то пишет следующим образом: <pre>Array( [0] => oferta2 [1] => oferta3)</pre> как убрать, чтобы писалось только oferta2, oferta3 ??? и теперь не работает contact.php (т.е. обработчик отправки почты). Где что исправить??? Спасибо |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
||||
|
||||
sokpet |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 13.1.2008 Репутация: нет Всего: нет |
Спасибо теперь пишет как надо, только если ничего не выбираешь и нажимаешь submit то в
contactos.php вылезает <br /><b>Warning</b>: implode() [<a href='function.implode'>function.implode</a>]: Invalid arguments passed in <b>/homepages/12/d310437503/htdocs/contactos.php</b> on line <b>21</b><br /> Как сделать чтобы в таком случае просто вылезало: Ofertas General И когда нажимаешь отправить в contactos.php срабатывает contact.php и выдает ошибку на линии 33 (закрывающий тег php). Хотя когда contactos.php был html почта отправлялась. Может здесь тоже metod убрать? |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
проблемы в функции implode на строке 21. почему бы не посмотреть, что там не соответствует синтаксису?
и какую же ошибку? /скорее всего какой-то скобки не хватает/ |
|||
|
||||
sokpet |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 13.1.2008 Репутация: нет Всего: нет |
С частью вопроса разобрался, в итоге получилось следующее:
А как теперь правильно привинтить contact.php (обработчик почты). Если он указан как action то не срабатывает условие REFERER, так как последнюю страницу, которую он видит это contactos.php. и шлет все на второй ящик, а если я вставляю все в один файл contactos.php , и в action пишу '<?=echo $_server['PHP_self']?>' то файл срабатывает даже не показав форму для заполения. Подскажите как лучше сделать? код обработчика:
Заранее спасибо |
||||
|
|||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
это какой-то страх божий. такое ощущение, что вы целенаправленно пытаетесь сделать код максимально не читаемым. почему было не написать так:
что имелось в виду в echo $_GET['art'] = "Ofertas General"; - не знаю, поэтому убрал так оно не работает. либо <?php echo $some; ?> , либо <?=$some?> , а не винегретом |
|||
|
||||
sokpet |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 13.1.2008 Репутация: нет Всего: нет |
Спасибо, поправил.
Не совсем понял что делать с
Мне нужно чтобы выполнялось вот это условие, но если в action (contactos.php) стоит contact.php то условие не работает т.е. все уходит на второй ящик. А если вставляю все в один файл то вообще ничего не работает if($_SERVER['HTTP_REFERER'] == "http://www.xxx/ofertas.html" || $_SERVER['HTTP_REFERER'] == "http://www.xxx/ofertas_2.html") { $to = "[email protected]";} else {$to = "[email protected]"; } Как это правильно привинтить? Спасибо |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |