Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.08.2010, 00:23
Интересующийся
Отправить личное сообщение для seva_81 Посмотреть профиль Найти все сообщения от seva_81
 
Регистрация: 06.08.2010
Сообщений: 20

Передать данные во фрейм?
Здравствуйте,
интересует такой вопрос, есть сайт, шаблоны дизайна 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} не пашет.

как сделать так чтобы была полноценная передача во фрейм?

Если это не возможно то как хотя бы даже вписать в тему письма адрес той страницы с которой оно было отправлено?

Последний раз редактировалось seva_81, 06.08.2010 в 00:35.
Ответить с цитированием
  #2 (permalink)  
Старый 06.08.2010, 07:25
Аспирант
Отправить личное сообщение для pakman Посмотреть профиль Найти все сообщения от pakman
 
Регистрация: 19.07.2010
Сообщений: 46

ты хочешь из 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, 06.08.2010 в 08:07.
Ответить с цитированием
  #3 (permalink)  
Старый 06.08.2010, 15:36
Интересующийся
Отправить личное сообщение для seva_81 Посмотреть профиль Найти все сообщения от seva_81
 
Регистрация: 06.08.2010
Сообщений: 20

Спасибо pakman, но что-то ничего не получается.

Может мне начать заново и попробовать сделать по другому...может так будет проще?

В общем стоит ссылка:
<a href="mailto:майл@майл.ру?subject=Тема письма:%20{$PRODUCTS_ID}">Задать вопрос</a>


{$PRODUCTS_ID} это смарти, но в моем примере (ссылка) при вставке в шаблон сайта все прекрасно работает и этот код ID продукта распознает программа электронной почты, но мне нужно чтобы пользователю не нужно было для этого настраивать свой клиент.

Теперь сам вопрос и предположительный принцип работы:
Есть ссылка
<a href="">Задать вопрос</a>

При нажатии открывается маленькое окно с формой и кнопкой "отправить" в этом ничего сложного нет, самое главное теперь передать с помощью ссылки <a href="">Задать вопрос</a> вот этот самый {$PRODUCTS_ID} в форму....как это сделать?
Это нужно сделать именно со вставкой в шаблон т.к. за пределами {$PRODUCTS_ID} не работает.

Не знаю может это бред полный что я пишу, но хотелось бы это реализовать.
Ответить с цитированием
  #4 (permalink)  
Старый 06.08.2010, 17:37
Аспирант
Отправить личное сообщение для pakman Посмотреть профиль Найти все сообщения от pakman
 
Регистрация: 19.07.2010
Сообщений: 46

Ну теперь вроде понял..только теперь измени все файлы расширения .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, 06.08.2010 в 18:00.
Ответить с цитированием
  #5 (permalink)  
Старый 06.08.2010, 17:56
Интересующийся
Отправить личное сообщение для seva_81 Посмотреть профиль Найти все сообщения от seva_81
 
Регистрация: 06.08.2010
Сообщений: 20

pakman письма отправляются но в теме письма просто переменная PRODUCTS_ID

Может это из-за того, что по идее переменная пишется и работает на странице в таком формате {$PRODUCTS_ID}? То есть с угольными скобками, может в этом дело?

Я попробовал изменить везде PRODUCTS_ID на {$PRODUCTS_ID}, теперь ссылка на форму содержит два раза правильные ID продукта, но на емайл приходит без темы, а также после отправки сообщения пишет "Ваше сообщение с темой и текстом: ddddddddd отправлено" то есть тема не видна.

Последний раз редактировалось seva_81, 06.08.2010 в 18:04.
Ответить с цитированием
  #6 (permalink)  
Старый 06.08.2010, 18:03
Аспирант
Отправить личное сообщение для pakman Посмотреть профиль Найти все сообщения от pakman
 
Регистрация: 19.07.2010
Сообщений: 46

ну значит у вас переменная $PRODUCTS_ID с самого начала не имеет значения.. попробуйте вывести её на *.php. И менять на скобки не надо..ну или скажите на какой странице вы присваиваете переменной $PRODUCTS_ID значение? мне же надо знать откуда её значение тянется..

Последний раз редактировалось pakman, 06.08.2010 в 18:15.
Ответить с цитированием
  #7 (permalink)  
Старый 06.08.2010, 18:18
Интересующийся
Отправить личное сообщение для seva_81 Посмотреть профиль Найти все сообщения от seva_81
 
Регистрация: 06.08.2010
Сообщений: 20

Сообщение от pakman Посмотреть сообщение
ну значит у вас переменная $PRODUCTS_ID с самого начала не имеет значения.. попробуйте вывести её на *.php. И менять на скобки не надо..ну или скажите на какой странице вы присваиваете переменной $PRODUCTS_ID значение? мне же надо знать откуда её значение тянется..
Я отправил вам ЛС.
Ответить с цитированием
  #8 (permalink)  
Старый 06.08.2010, 18:25
Аспирант
Отправить личное сообщение для pakman Посмотреть профиль Найти все сообщения от pakman
 
Регистрация: 19.07.2010
Сообщений: 46

понятно..Я понимаю вы на этой же странице хотите сделать "Задать вопрос"?. если так то немного изменим код:
<? 
$PRODUCTS_ID=$_GET['products_id'];
echo "<a href='contact.php?PRODUCTS_ID=$PRODUCTS_ID'>Задать вопрос</a>"; 
?>
Ответить с цитированием
  #9 (permalink)  
Старый 06.08.2010, 18:27
Аспирант
Отправить личное сообщение для pakman Посмотреть профиль Найти все сообщения от pakman
 
Регистрация: 19.07.2010
Сообщений: 46

Сообщение от seva_81 Посмотреть сообщение
теперь ссылка на форму содержит два раза правильные ID продукта
поменяйте обратно чтобы было 1 раз
Ответить с цитированием
  #10 (permalink)  
Старый 06.08.2010, 18:35
Интересующийся
Отправить личное сообщение для seva_81 Посмотреть профиль Найти все сообщения от seva_81
 
Регистрация: 06.08.2010
Сообщений: 20

Сообщение от pakman Посмотреть сообщение
понятно..Я понимаю вы на этой же странице хотите сделать "Задать вопрос"?. если так то немного изменим код:
<? 
$PRODUCTS_ID=$_GET['products_id'];
echo "<a href='contact.php?PRODUCTS_ID=$PRODUCTS_ID'>Задать вопрос</a>"; 
?>
у меня не получается вставить с echo (т.к. код шаблона на html), зайдите глянте что получается.
Также все что вы видите "ссылку", это так работает когда везде стоят {} вот такие скобки, как я и писал, а иначе не работает. Вот сейчас зайдите я как раз сделал так как вы сказали.

Сообщение от pakman Посмотреть сообщение
поменяйте обратно чтобы было 1 раз
Так ведь в верхнем коде тоже стоит два раза.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Контекстное меню как считать данные из таблицы xela1980 jQuery 25 31.05.2013 13:20
$.ajax-как передать переменную в данных Dimaz jQuery 1 15.02.2010 15:00
Как в ajax запросе передать файл методом POST mcpro jQuery 1 16.12.2009 10:41
Передать post данные на сервер с проверкой, и успешным завершением Simon jQuery 10 02.12.2009 05:15
POST-запрос. Передать данные. Jurasmi jQuery 2 30.09.2009 13:57