|
Передать данные во фрейм?
Здравствуйте,
интересует такой вопрос, есть сайт, шаблоны дизайна html, стоит форма обратной связи html + php, форма связи работает только во фрейме...понадобилось передать название темы письма автоматически, это номер ID товара на которой пользователь находится, в шаблонах дизайна он называется так: {$PRODUCTS_ID}, пробовал его вставлять в код обработчика но толку нет, подскажите как быть. Вот коды обратной связи: Фрейм: <iframe width="364" height="210" src="/contact.html"></iframe> Файл: contact.html: <FORM ACTION="send.php" METHOD=post> <TABLE BORDER=0> <tr><td>Тема</td><td> <input type=text name="sub" cols=40> </td></tr> <TR> <TD colspan=2> Сообщение: <BR><textarea name="mes" cols=40 rows=5></textarea></TD></TR> <TR> <TD colspan=2 align=center><input type=submit value="Отправить"> <input type=reset value="Очистить"></TD></TR> </TABLE></FORM> Файл send.php <? $to = "_@_"; mail($to,"$sub",$mes); echo "Ваше сообщение с темой $sub и текстом: $mes <br> отправлено<BR><center><a href='http://www.svoisait.ru/form/_post.shtml'>Отправить ещё</a>"; ?> Здесь я пробовал следующее, я сделал код send.php <? $to = "mail@domen.ru"; $sub ="{$PRODUCTS_ID}"; mail($to,"$sub",$mes); echo "Ваше сообщение с темой $sub и текстом: $mes <br> отправлено<BR><center><a href='http://www.svoisait.ru/form/_post.shtml'>Отправить ещё</a>"; ?> Но сообщение приходит без темы вообще, для проверки пробовал вместо {$PRODUCTS_ID} вписать слово, так работает, а с {$PRODUCTS_ID} не пашет. как сделать так чтобы была полноценная передача во фрейм? Если это не возможно то как хотя бы даже вписать в тему письма адрес той страницы с которой оно было отправлено? |
ты хочешь из contact.php передать значение $PRODUCTS_ID на send.php?
Если так то contact.php: <FORM ACTION="send.php" METHOD=post> <TABLE BORDER=0> <tr><td>Тема</td><td> <input type=text name="sub" cols=40> </td></tr> <TR> <TD colspan=2> Сообщение: <BR><textarea name="mes" cols=40 rows=5></textarea></TD></TR> <TR> <TD colspan=2 align=center> <input type='hidden' value='$PRODUCTS_ID' name='PRODUCTS_ID'> <input type=submit value="Отправить"> <input type=reset value="Очистить"></TD></TR> </TABLE></FORM> send.php: <? $to = "mail@domen.ru"; $sub =$_POST['PRODUCTS_ID']; mail($to,"$sub",$mes); echo "Ваше сообщение с темой $sub и текстом: $mes <br> отправлено<BR><center><a href='http://www.svoisait.ru/form/_post.shtml'>Отправить ещё</a>"; ?> Если же ты говоришь тебе нужно во фрейм, только я чот не очень понял где он у тебя вставляется..то: <iframe width="364" height="210" src="/contact.html?PRODUCTS_ID=$sub"></iframe> На contact.php вытащить же его можно: $PRODUCTS_ID=$_GET['PRODUCTS_ID']; |
Спасибо pakman, но что-то ничего не получается.
Может мне начать заново и попробовать сделать по другому...может так будет проще? В общем стоит ссылка: <a href="mailto:майл@майл.ру?subject=Тема письма:%20{$PRODUCTS_ID}">Задать вопрос</a> {$PRODUCTS_ID} это смарти, но в моем примере (ссылка) при вставке в шаблон сайта все прекрасно работает и этот код ID продукта распознает программа электронной почты, но мне нужно чтобы пользователю не нужно было для этого настраивать свой клиент. Теперь сам вопрос и предположительный принцип работы: Есть ссылка <a href="">Задать вопрос</a> При нажатии открывается маленькое окно с формой и кнопкой "отправить" в этом ничего сложного нет, самое главное теперь передать с помощью ссылки <a href="">Задать вопрос</a> вот этот самый {$PRODUCTS_ID} в форму....как это сделать? Это нужно сделать именно со вставкой в шаблон т.к. за пределами {$PRODUCTS_ID} не работает. Не знаю может это бред полный что я пишу, но хотелось бы это реализовать. |
Ну теперь вроде понял..только теперь измени все файлы расширения .html на .php.
Вот какойто *.php файл (я так понимаю на этой странице известен $PRODUCTS_ID): <? echo "<a href='contact.php?PRODUCTS_ID=$PRODUCTS_ID'>Задать вопрос</a>"; ?> Далее contact.php(поменяй разрешение на .php): <? $theme=$_GET['PRODUCTS_ID']; echo" <FORM ACTION='send.php' METHOD=POST> <TABLE BORDER=0> //я так понимаю тему человек изменить не должен? поэтому я её уберу. <TR> <TD colspan=2> Сообщение: <BR><textarea name='mes' cols=40 rows=5></textarea></TD></TR> <TR> <TD colspan=2 align=center> <input type='hidden' value='$theme' name='PRODUCTS_ID'> <input type=submit value='Отправить'> <input type=reset value='Очистить'></TD></TR> </TABLE></FORM>"; ?> И обработчик send.php: <? $to = "mail@domen.ru"; $sub =$_POST['PRODUCTS_ID']; $mess=$_POST['mes']; mail($to,$sub,$mes); echo "Ваше сообщение с темой $sub и текстом: $mes <br> отправлено<BR><center><a href='http://www.svoisait.ru/contact.php?PRODUCTS_ID=$sub'>Отправить ещё</a>"; ?> Вроде должно заработать:) Конечно я мог допустить ошибки в синтаксисе... И лучше поставить в обработчике редирект..и убрать "отправить ещё"... <? $to = "mail@domen.ru"; $sub =$_POST['PRODUCTS_ID']; $mess=$_POST['mes']; mail($to,$sub,$mes); echo "Ваше сообщение с темой $sub и текстом: $mes <br> отправлено"; header('Refresh: 3; URL=http://site.ru/*.php'); // - собственно редирект, *.php - это то файл в котором находится 'Задать вопрос'.. ?> |
pakman письма отправляются но в теме письма просто переменная PRODUCTS_ID
Может это из-за того, что по идее переменная пишется и работает на странице в таком формате {$PRODUCTS_ID}? То есть с угольными скобками, может в этом дело? Я попробовал изменить везде PRODUCTS_ID на {$PRODUCTS_ID}, теперь ссылка на форму содержит два раза правильные ID продукта, но на емайл приходит без темы, а также после отправки сообщения пишет "Ваше сообщение с темой и текстом: ddddddddd отправлено" то есть тема не видна. |
ну значит у вас переменная $PRODUCTS_ID с самого начала не имеет значения.. попробуйте вывести её на *.php. И менять на скобки не надо..ну или скажите на какой странице вы присваиваете переменной $PRODUCTS_ID значение? мне же надо знать откуда её значение тянется..
|
Цитата:
|
понятно..Я понимаю вы на этой же странице хотите сделать "Задать вопрос"?. если так то немного изменим код:
<? $PRODUCTS_ID=$_GET['products_id']; echo "<a href='contact.php?PRODUCTS_ID=$PRODUCTS_ID'>Задать вопрос</a>"; ?> |
Цитата:
|
Цитата:
Также все что вы видите "ссылку", это так работает когда везде стоят {} вот такие скобки, как я и писал, а иначе не работает. Вот сейчас зайдите я как раз сделал так как вы сказали. Цитата:
|
Часовой пояс GMT +3, время: 22:49. |
|