Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Скрипт "Отправить новость по e-mail"
 
 автор: rusweta   (26.08.2006 в 17:42)   письмо автору
 
 

Здравствуйте,
помогите, пожалуйста, нужен такой скрипт.

Есть страница с адресом ...detail.php?ID=12
На этой странице будет находиться форма для ввода e-mail

Нужен скрипт, который

выделял бы из url номер ID
делал фильтр элементов по этому ID
Оставшийся элемент добавлял в тело письма и отправлял по указанному в форме e-mail

   
 
 автор: ice-w-ind   (26.08.2006 в 17:48)   письмо автору
 
   для: rusweta   (26.08.2006 в 17:42)
 

Ничего не понял!
Параметр ID будет доступен через массив $_GET['ID']
Из чего выбирать? Каких элементов и откуда? В тело заранее заготовленного письма с указанным форматом?

   
 
 автор: rusweta   (26.08.2006 в 18:00)   письмо автору
 
   для: ice-w-ind   (26.08.2006 в 17:48)
 

Сорри, за бестолковость вопроса)) Но я совсем новичок, пытаюсь разобраться...

На странице выводится новость (элемент с определенным ID, указанным в качестве параметра)
Мне нужно создать компонент, который будет получать из запроса параметр id элемента, делать выборку из всех элементов с фильтром по этому элементу

$res=CIBlockElement::GetList(false,Array("ID"=>$REQUEST["id_el"])),
$ar_fields = $res->GetNext();


и пересылать текст стандартной php-функцией

mail("кому","тема",$ar_fields["DETAIL_TEXT"]);

   
 
 автор: cheops   (26.08.2006 в 23:04)   письмо автору
 
   для: rusweta   (26.08.2006 в 18:00)
 

Получить ID из GET-запроса, можно обратившись к элементу $_GET['ID'], но для более детального ответа нужно знать в какой таблице храняться e-mail адреса и что должно выступать в качестве темы письма?

   
 
 автор: rusweta   (27.08.2006 в 00:31)   письмо автору
 
   для: cheops   (26.08.2006 в 23:04)
 

Адреса не в таблице, а добавляются пользователями в форму. Т.е. мейл нужно взять из формы, расположенной на той же странице. Тема должна быть у всех одинаковой - например, название сайта.

   
 
 автор: Dead   (27.08.2006 в 00:59)   письмо автору
 
   для: rusweta   (27.08.2006 в 00:31)
 

mail.php
<form name="form" method="get" action="mailto.php?id=14">
<input type="text" name="mailaddr">
<input type="submit" value="Отправить на указанный мэил">
</form>


mailto.php
<?
$id=$_GET['id'];
$mailaddr=$_GET['mailaddr'];
mail("$mailaddr","тема письма","твоя новость");
echo "Ваше сообщение было успешно отправлено";
?>

вроде так, про фильтр ничего не понял

   
 
 автор: rusweta   (27.08.2006 в 01:17)   письмо автору
 
   для: Dead   (27.08.2006 в 00:59)
 

Спасибо, огромное!))
>вроде так, про фильтр ничего не понял

Про фильтр объясняю)). Новости хранятся в базе данных, каждая новость имеет свой ID, когда открывается страница detail.php в зависимости от параметра id на ней выводятся разные новости. Пересылать нужно именно ту новость, которую читает пользователь, когда оставляет свой мейл и нажимает кнопку отправить.
Эта новость и должна стать телом письма. Мне казалось, что нужно сделать фильтр по ID, чтобы выбрать нужную новость.
>mail.php
><form name="form" method="get" action="mailto.php?id=14">
Вот тут не очень поняла <...action="mailto.php?id=14">

id - ведь будет меняться,
может быть так нужно: <...action="mailto.php?id=$_GET['id'];"> ?

   
 
 автор: Dead   (27.08.2006 в 01:35)   письмо автору
 
   для: rusweta   (27.08.2006 в 01:17)
 

Про айди да, просто я так к смыслу написал

mail.php
<form name="form" method="get" action="mailto.php?id=$_GET['id'];">
<input type="text" name="mailaddr">
<input type="submit" value="Отправить на указанный мэил">
</form>


mailto.php

<?
$id
=$_GET['id'];
mysql_connect("$host""$user""$pass");
mysql_select_db("$bd");

$sql = ("SELECT news FROM table WHERE id='$id'");
$result=mysql_query($sql);


$mailaddr=$_GET['mailaddr'];
mail("$mailaddr","тема письма","$result");
echo 
"Ваше сообщение было успешно отправлено";
?>


Перед запуском в эксплуатацию проверь

   
 
 автор: rusweta   (29.08.2006 в 03:18)   письмо автору
 
   для: Dead   (27.08.2006 в 01:35)
 

Dead,
спасибо, все настроила, все работает!)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования