Передать данные во фрейм?
Здравствуйте,
интересует такой вопрос, есть сайт, шаблоны дизайна 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>"; ?> |
Цитата:
|
Цитата:
Также все что вы видите "ссылку", это так работает когда везде стоят {} вот такие скобки, как я и писал, а иначе не работает. Вот сейчас зайдите я как раз сделал так как вы сказали. Цитата:
|
Почему html? вроде написано product_info.php.. или там загружен фрэйм с расширением .html?
|
Цитата:
|
переименовал это грубо сказано, я так не говорил:) скачайте редактор PsPad - в нём создайте php файл и скопируйте содержимое html файла, Тем более редактор вам понадобится в будущем:)поэтому кстати и не работает...Всё таки у вас там ифрейм стоит да?:)
|
Цитата:
Я пробовал с фреймом но он не распознает {$PRODUCTS_ID}, поэтому так вообще не получается запустить работу скрипта. А сейчас я сделал так: Мой шаблон вставил: <a href='contact.php?{$PRODUCTS_ID}={$PRODUCTS_ID}'> адать вопрос</a> contact.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@bova-art.de"; $sub =$_POST['{$PRODUCTS_ID}']; $mess=$_POST['mes']; mail($to,$sub,$mes); echo "Ваше сообщение с темой $sub и текстом: $mes <br> отправлено"; header('Refresh: 3; URL=/product_info.php?products_id={$PRODUCTS_ID}'); // - собственно редирект, *.php - это то файл в котором находится 'Задать вопрос'.. ?> |
да я так сказал..но таким образом как вы расширения менять нельзя..вы просто напросто получаете или двойное расширение или ещё какуенибудь фигню..скачайте PsPad сделайте как я сказал и уберите {}:)
ааааа что вы сделали?:) <a href='contact.php?{$PRODUCTS_ID}={$PRODUCTS_ID}'> �адать вопрос</a> - это вообще чушь, так как перед именем переменной стоит '$'!:) |
Цитата:
Цитата:
Цитата:
Сейчас гляньте, первая точка это без скобок, а вторая со скобками. |
Цитата:
<iframe width="364" height="210" src="*.html"></iframe> Цитата:
<a href='contact.php?PRODUCTS_ID={$PRODUCTS_ID}'>задать вопрос</a>// скопируйте это и у вас должно получиться:) |
Цитата:
Цитата:
Цитата:
send.php <? $to = "майл@майл.ру"; $sub =$_POST['{$PRODUCTS_ID}']; $mess=$_POST['mes']; mail($to,$sub,$mes); echo "Ваше сообщение с темой $sub и текстом: $mes <br> отправлено"; header('Refresh: 3; URL=http://сайт.ру/product_info.php?products_id={$PRODUCTS_ID}'); // - собственно редирект, *.php - это то файл в котором находится 'Задать вопрос'.. ?> contact.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>"; ?> Ну и в шаблоне: <a href='contact.php?$PRODUCTS_ID={$PRODUCTS_ID}'>1</a> |
потому что вы не скопировали а изменили..а я сказал чтобы скопировали..
|
кстати у меня и без {} работает если всё нормально сделано:)
|
ну вот и сравните мою и свою гиперсылку..так сказать "найдите отличия":)
|
и уберите {} в файлах connect и send. Нельзя их ставить где попало!
|
Цитата:
Убрал скобки, все тот же результат: Цитата:
|
ошибка у вас изза неправильного редиректа..кстате пока закавычите его..и потом, вы убрали {} или нет в файле send.php???!
|
тогда ещё раз покажите мне файлы contact и send
|
Цитата:
<? $to = "mail@domain.ru"; $sub =$_POST['$PRODUCTS_ID']; $mess=$_POST['mes']; mail($to,$sub,$mes); echo "Ваше сообщение с темой $sub и текстом: $mes <br> отправлено"; // - header('Refresh: 3; URL=site.ru/product_info.php?products_id={$PRODUCTS_ID}'); // - собственно редирект, *.php - это то файл в котором находится 'Задать вопрос'.. ?> Файл contact.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>"; ?> |
строчку <input type='hidden' value='$theme' name='$PRODUCTS_ID'>
измените на <input type='hidden' value='$theme' name='PRODUCTS_ID'> |
Цитата:
|
строчку $theme=$_GET['$PRODUCTS_ID'];
измените на $theme=$_GET['PRODUCTS_ID']; я же вам дал начальный код а вы его почти весь поменяли со своими {} всех запутали:) |
в обработчике send тоже поменяйте $sub =$_POST['$PRODUCTS_ID'];
на $sub =$_POST['PRODUCTS_ID']; |
Цитата:
|
ещё раз покажите ваши contact and send...
|
Цитата:
<? $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>"; ?> зенд <? $to = ".@."; $sub =$_POST['PRODUCTS_ID']; $mess=$_POST['mes']; mail($to,$sub,$mes); echo "Ваше сообщение с темой $sub и текстом: $mes <br> отправлено"; // - header('Refresh: 3; URL=/product_info.php?products_id={$PRODUCTS_ID}'); // - собственно редирект, *.php - это то файл в котором находится 'Задать вопрос'.. ?> |
ну я же вам написал! измените
$theme=$_GET['$PRODUCTS_ID']; на $theme=$_GET['PRODUCTS_ID']; в контакт пхп |
Цитата:
Спасибо за выдержку! Есть PP? |
откавыч редирект...кстате можете поставиь мне плюсик к карме?:) у меня хотябы один будет:)
|
Цитата:
Теперь буду пробовать, делать чтобы открывалось во всплывающем окне, а то так не очень. Еще есть вопросик, а есть возможность сделать чтобы в сообщении (в теле письма) уже было написано начало сообщения, например ссылка на продукт? |
header('Refresh: 3; URL=product_info.php?products_id=$PRODUCTS_ID');
цифра 3 указывает сколько секунд редирект будет тебя ждать.. можешь её менять по своему желанию:) спасибо за плюсик:) чтобы использовать всплывающее меню тут понадобится уже js с виндами:)во ссылка http://javascript.ru/window.open , а япошёл спать:) |
щас напишу:)
|
<? $to = ".@."; $sub =$_POST['PRODUCTS_ID']; $mess="<a href=http://bova-art.de/product_info.php?products_id=$sub>Перейти на страницу товара</a> "; $mess=$mess.$_POST['mes']; mail($to,$sub,$mes); echo "Ваше сообщение с темой $sub и текстом: $mes <br> отправлено"; header('Refresh: 3; URL=product_info.php?products_id=PRODUCTS_ID'); ?> попробуй так:) |
Часовой пояс GMT +3, время: 15:45. |