Strict Standards: Resource ID#33 used as offset, casting to integer (33) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#35 used as offset, casting to integer (35) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Как сделать рассылку с сайта пользователям [4]
ТвойWeb » Сайтостроительство » Форумы » Как сделать рассылку с сайта пользователям

Страниц (6): « 1 2 3 [4] 5 6 »
 

31. victor - 24 Февраля, 2005 - 05:08:33 - перейти к сообщению
Я хотел сказать что если эта команда ссылка на приоритеты пользователей.
То могу ли я ее использовать как ссылку на приоритеты рассылки
А точнее написать вот так:
CODE:

$mail = "mail.php?SID="

А какие-то переменные указывать надо ведь.
32. TvoyWeb - 24 Февраля, 2005 - 08:36:06 - перейти к сообщению
victor пишет:
Я хотел сказать что если эта команда ссылка на приоритеты пользователей.
То могу ли я ее использовать как ссылку на приоритеты рассылки

Хехехе .... ты хоть сам то понял что сказал? Улыбка
И для чего писать
victor пишет:
$mail = "mail.php?SID="

?
Я думал ты уже все сделал....... а ты вчерашний день ищешь.

Найди файл в котором идет обработка новой новости и записи ее в базу. Сразу после записи, открывай файл с адресами пользователей (если чекбокс отмечен) и в цикле отправляй новость каждому пользователю. Переменная в которой содержатся новости у тебя уже будет в том скрипте (обработка новости).
33. victor - 25 Февраля, 2005 - 03:35:20 - перейти к сообщению
Уменя последняя просьба.
Я подумал, че я парюсь. Ведь все данные есть в форме.
И можно их сразу отправлять по адресу.
Поэтому у меня такой вопрос. Как правильно оформить переменную
$messages

Вот пример, а ты меня поправь:
CODE:

$messages = $headline //заголовок
$messages .= $text // сам текст
$messages .= $signature // подпись

И мы посмотрим, что из этого получиться
34. TvoyWeb - 25 Февраля, 2005 - 04:36:45 - перейти к сообщению
victor
Ну и нормально.
35. victor - 25 Февраля, 2005 - 09:10:55 - перейти к сообщению
Рассылка работает но приходит пустая страница.
Посмотри, что я не так сделал.
CODE:

<?php
$back = (strcmp($act,"NewsCreate")==0) ? "goToSection('".$this->SID."',32)" : "backToNewsEdit('".$this->SID."',37,'".$nid."')";
if(strcmp($act,"NewsCreate")==0) {
$stop = ($this->getTotal() >= $this->getLimit()) ? 1 : 0;
}
echo("<script>newsopened=".$this->getTotal().";</SCRIPT>");
echo("<script>newslimits=".$this->getLimit().";</SCRIPT>");
$url = "main.php?SID=".$this->SID."&mode=32&act=NewsSend&page=".$page."&showBy=".$showBy;
$announced = 1;


$mail = NULL;
//Определяем необходимые переменные
$file_array = NULL;
$tomail = NULL;
$subject = "Новости Регион45";//Тема сообщения
$messages = "Рассылка не работает";

/* Заголовок письма*/
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=windows-1251\r\n";
$headers .= "Content-transfer-encoding: 8bit\r\n";
$headers .= "Date: " . gmdate('D, d M Y H:i:s', time()) . " UT\r\n";
$headers .= "X-Priority: 3\r\n";
$headers .= "X-MSMail-Priority: Normal\r\n";
$headers .= "X-Mailer: PHP\r\n";
$headers .= "From: Администратор сайта <fonarik@zauralmedia.ru> \r\n";
$headers .= "Return-Path: <fonarik@zauralmedia.ru>\r\n";
$headers .= "Reply-To: Администратор сайта <fonarik@zauralmedia.ru>\r\n";
?>

<form name="news" action="main.php" method="post" ENCTYPE="multipart/form-data" onSubmit="return checkNewsFields('<?=$act?>','<?=$pid?>')">
<input type="hidden" name="SID" value="<?=$this->SID ?>">
<input type="hidden" name="mode" value="<?=$mode ?>">
<input type="hidden" name="nid" value="<?=$nid ?>">
<input type="hidden" name="uid" value="<?=$uid ?>">
<input type="hidden" name="act" value="<?=$act ?>">
<input type="hidden" name="page" value="<?=$page ?>">
<input type="hidden" name="showBy" value="<?=$showBy ?>">
<input type="hidden" name="path" value="">
<input type="hidden" name="uid" value="<?=$this->User_ID ?>">
<input type="hidden" name="fm" value="<?=$fm ?>">
<input type="hidden" name="tf" value="<?=$tf ?>">
<input type="hidden" name="pid" value="<?=$pid ?>">
<input type="hidden" name="imode" value="<?=$imode ?>">

<table cellspacing=0 cellpadding=2 border=0 width="98%" bgcolor="#999999">
<tr>
<td colspan=4 align="center"><hr width="98%"></td>
</tr>
<tr>
<td width="20%" align="right" class="listhead">Рубрика:&nbsp;</td>
<td width="25%"><select name="category" size=1><?=$this->makeSBOptions(0,"/categories.tpl") ?></select></td>
<td width="20%" align="right" class="listhead">Регион:&nbsp;</td>
<td width="35%"><select name="region" size=1><?=$this->makeSBOptions(0,"/regions.tpl") ?></select></td>
</tr>
<tr>
<td align="right" class="listhead">Заголовок:<font color="red"><sup>*</sup></font>&nbsp;</td>
<td colspan=3><input type="text" name="headline" size=64 value="<?=$headline ?>"></td>
</tr>
<tr>
<td align="right" class="listhead">Источник:&nbsp;</td>
<td colspan=3><select name="source" size=1><?=$this->makeSBOptions(0,"/sources.tpl") ?></select></td>
</tr>
<tr>
<td colspan=4 align="center"><hr width="98%"></td>
</tr>
<tr>
<td align="right" class="listhead">Подписи:&nbsp;</td>
<td colspan=3><select name="asign" size=1 onChange="selectSignature()"><?=$this->makeSBOptions(0,"/signatures.tpl") ?></select></td>
</tr>
<tr>
<td align="right" class="listhead">Автор:&nbsp;</td>
<td colspan=3><input type="text" name="signature" size=56 value="<?=$signature ?>"></td>
</tr>
<tr>
<td colspan=4 align="center"><hr width="98%"></td>
</tr>
<tr valign="middle">
<td align="right" class="listhead">Значимость:&nbsp;</td>
<td class='listhead'><input type="radio" name="priority" value="0" <?php if(!$priority) echo('checked') ?>>Не главная<BR><input type="radio" name="priority" value="1" <?php if($priority) echo('checked') ?>>Главная</td>
<td align="right" class="listhead">Язык:&nbsp;</td>
<td class="listhead"><input type="radio" name="lang" value="ru" <?php if(strcmp($lang,"en")!=0) echo('checked') ?>>Русский<BR><input type="radio" name="lang" value="en" <?php if(strcmp($lang,"en")==0) echo('checked') ?>>Английский</td>
</tr>
<tr>
<td colspan=4 align="center"><hr width="98%"></td>
</tr>
<tr>
<td align="right" class="listhead">Ключевые слова:</td>
<td colspan=3>&nbsp;</td>
</tr>
<tr>
<td colspan=4 align="center"><textarea name="keywords" cols=64 rows=2><?=$keywords ?></textarea></td>
</tr>
<? if(strcmp($act,"NewsUpdate")==0) echo("<!--") ?>
<tr>
<td colspan=4 align="center"><hr width="98%"></td>
</tr>
<tr>
<td align="right" class="listhead">Текст новости:</td>
<td colspan=3>&nbsp;</td>
</tr>
<tr>
<td colspan=4 align="center"><textarea name="text" cols=66 rows=16><?=$text ?></textarea></td>
</tr>
<? if(strcmp($act,"NewsUpdate")==0) echo("//-->") ?>
<tr>
<td colspan=4 align="center"><hr width="98%"></td>
</tr>
<tr>
<td align="right" class="listhead">Примечание:</td>
<td colspan=3>&nbsp;</td>
</tr>
<tr>
<td colspan=4 align="center"><textarea name="comment" cols=64 rows=3><?=$comment ?></textarea></td>
</tr>
<tr>
<td colspan=4 align="center"><hr width="98%"></td>
</tr>
<? if(strcmp($act,"NewsUpdate")==0) echo("<!--") ?>
<tr>
<td align="right" class="listhead">Изображение:&nbsp;</td>
<td colspan=3><input type="file" name="filepict" size="50"></td>
</tr>
<tr>
<td colspan=4 align="center"><hr width="98%"></td>
</tr>
<? if ($status == 2) { ?>
<tr>
<td width="25%" align="right" class="listhead">Дата публикации:&nbsp;</td>
<td width="25%">
<input type="text" name="src" size=10 value="<?=date("d.m.Y",time()) ?>">
</td>
<td align="left" class="listhead">
<input name="announced" type="checkbox" <?php if($announced) echo ('checked'); ?>>
Проанонсировать
</td>



<td align="left" class="listhead">
<input name="mail" type="checkbox" <?php
$file_array = file("/usr/www/region45/cms/scripts/templates/mail.txt"); //Забирает по строчке из файла в массив
if(count ($file_array)){//если маасив не пуст то забираем построчно
for ($i=0; $i < count ($file_array); $i++){
if (!empty($file_array[$i])){//если строка не пустая, обычно бывает что первая строка пуста, поэтому лучше проверить

$messages = $headline; //заголовок
$messages .= $text; // сам текст
$messages .= $signature; // подпись

if(mail($file_array[$i], $subject, $messages, $headers)){
echo "Адрес - ".$file_array[$i]." - статус ОК";
} else {
echo "Адрес - ".$file_array[$i]." - статус BAD";
}
} else {
continue;
}
}
} else {
echo "В файле mail.txt нет записей";
}
echo ('checked'); ?>>
Почта
</td>



<td align="center">&nbsp;</td>
</tr>
<tr>
<td colspan=4 align="center"><hr width="98%"></td>
</tr>
<? } ?>
<? if(strcmp($act,"NewsUpdate")==0) echo("//-->") ?>
<tr>
<td align="right" class="listhead"><font color="red">*</font>&nbsp;</td>
<td colspan=3 class="listhead">- поля с обязательными параметрами</td>
</tr>
</table>
<BR>
<input type="button" value="Возврат" onClick="<?=$back ?>">
<? if(strcmp($act,"NewsUpdate")==0) echo("<!--") ?>
<!--
<input type="button" value="Ссылки" onClick="javascript:viewLinks('<?=$this->SID ?>',33,'<?=$nid ?>',31)">
//-->
<input type='button' value='Изображения' onClick="doAction(6,'picman.php?SID=<?=$this->SID ?>&uid=<?=$this->User_ID?>&showBy=5&fm=<?=$fm?>&tf=<?=$tf?>')">
<? if(strcmp($act,"NewsUpdate")==0) echo("//-->") ?>
<input type="submit" value="Сохранить">
<? if(strcmp($act,"NewsUpdate")==0) echo("<!--") ?>
<? if ($status == 2) { ?>
<input type="submit" value="Опубликовать" onClick="return sendNews('CreatePublishNews',22)">
<? } else { ?>
<input type="submit" value="Отправить" onClick="return sendNews('NewsSend',32)">
<? } ?>
<? if(strcmp($act,"NewsUpdate")==0) echo("//-->") ?>
</form><BR>
<?php if($stop) echo("<script>message = 'Внимание! Вы превышаете установленный лимит на количество хранимых новостей. Информация не будет сохранена в БД.';</SCRIPT>"); ?>


Я тебе выделил все строками. А рассылку назвал ПОЧТА
36. TvoyWeb - 25 Февраля, 2005 - 15:59:08 - перейти к сообщению
victor
Ты меня извини, но ты все делаешь не так. ты не понимаешь как работает PHP, а без этого тебе тяжело будет понять.
Пойми что форма это форма, то есть это инструмент при помощи которого скрипту передаются данные и уже в скрипте эти данные обрабатываются.
Ты же при вызове формы вызываешь и скрипт который должен отправлять письма.
Советую потренироваться на скрипте отправки письма, чтобы понять как это все работает. Ты же заклился на чекбоксе и думаешь что в нем все спасение. Чекбокс это флаг. Если ты отметишь его то в скрипт передадуться POST данные с именем и значением этого чекбокса. Если не отметишь ничего об этом чекбоксе передано не будет.
37. victor - 28 Февраля, 2005 - 04:00:17 - перейти к сообщению
Я незнаю, как передаются данные с файла PHP-1 в файл PHP-2.
или из этой формы. Я невижу этого. Это говорит только о том, что данные PHP-файл забирает сам.
Если я прав, то значит мой файл mail.php должен сам запуститься и взять данные, из формы. Значит мне надо найти файл который все это запускает.
38. TvoyWeb - 28 Февраля, 2005 - 05:37:35 - перейти к сообщению
victor
У меня есть вопрос к тебе.
Что ты хочешь?
1.Хочешь чтобы за тебя кто-то сделал твою работу?
2.Или хочешь понять и сделать сам?
Если первое, то никто за тебя твою работу за так делать не будет. Это факт.
Если второе, то судя по твоим постам тебе нужно начать учить PHP с азов этого языка. И в этом случае я смогу тебе кое чем помочь. Я постараюсь на примерах объяснить тебе как и что работает применительно к данным, независимо откуда они берутся.
Вот для начала.
В PHP есть вспомогательная функция print_r(), которая распечатывает на экране данные которые ты введешь в эту функцию в качестве аргумента. Но есть одно слабое место, а именно все данные выводит в строку
CODE:
Array ( [name] => victor [email] => victor@victor.ru [homepage] => http://victor.ru [message] => Тестовое сообщение [SubmitForm] => Отправить )

и когда таких данных много, то очень сложно разобраться где и что.
Поэтому сделаем свою вспомогательную функцию на основе print_r()
CODE:
function Print_DATA($data)
{
echo "<pre>";
print_r($data);
echo "</pre>";
}

Теперь мы получим данные вот в таком виде
CODE:
Array
(
[name] => victor
[email] => victor@victor.ru
[homepage] => http://victor.ru
[message] => Тестовое сообщение
[SubmitForm] => Отправить
)

Так намного удобнее. Не правдали? Улыбка.

Теперь создай два файла form.php с чистым HTML кодом формы и print_data.php который будет печатать данные переданные из формы на экран.
form.php
CODE:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Передача данных из формы PHP скрипту</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>

<body>
<form action="print_data.php" method="post" name="LessonForm">
Ваше имя: <input name="name" type="text" size="25" maxlength="25"><BR><BR>
Ваш E-mail: <input name="email" type="text" size="25" maxlength="25"><BR><BR>
Домашняя страница: <input name="homepage" type="text" size="25" maxlength="25"><BR><BR>
Ваше сообщение:<BR>
<textarea name="message" cols="50" rows="10"></textarea><BR><BR>
<input name="SubmitForm" type="submit" value="Отправить">
</form>
</body>
</html>

print_data.php
CODE:
<html>
<head>
<title>Получение данных из формы PHP скриптом</title>
</head>
<body>
<?php
Print_DATA($_POST);

function Print_DATA($data)
{
echo "<pre>";
print_r($data);
echo "</pre>";
}
?>
</body>
</html>

Как видишь в файле print_data.php нет ничего кроме нашей вспомогательной функции и ее вызова. В качестве аргумента функции передается массив данных $_POST.
Хочется сказать, что каждое поле в форме имеет свое имя, которое будет передано скрипту в качестве ключа одного из элементов массива $_POST, а значением этого элемента будет значение поля, то есть то что будет введено в это поле, если только это поле не скрытое в котором значение прописывается в парметре value.
$_POST потому что в форме задан метод "post", если бы был задан метод "get", то мы сейчас рассматривали бы массив $_GET.
Попробуй потести эти файлы.
Если решишь подучиться, то наверное создадим отдельную тему и я попробую объяснить то что знаю.
39. victor - 28 Февраля, 2005 - 08:24:06 - перейти к сообщению
Мне от тебя и нужен был вот этот код
CODE:

<form action="print_data.php" method="post" name="LessonForm">

Он заставляет работать наш файл mail.php А текст я хотел взять уже из создаваемого автоматически файла news.html
и добавить к нему кнопку об удаление рассылки.
А УЧИТЬСЯ Я ХОЧУ. ЭТО С УДОВОЛЬСТВИЕМ.
Я хотел по окончание с рассылкой попросить тебя об этом.

Когда я зашел на твой форум то уже нашел эту команду.
Может я бы быстрее сооброжал, но у меня эта страница долго загружается. Сейчас какраз отлаживаю эту команду.
40. victor - 01 Марта, 2005 - 01:50:26 - перейти к сообщению
Скажи мне пожалуста если внутри формы две формы. То что делать
У меня же в форме прописано
CODE:

<form name="news" action="main.php" method="post" ENCTYPE="multipart/form-data" onSubmit="return checkNewsFields('<?=$act?>','<?=$pid?>')">

А я еще ввожу форму
CODE:

<td align="left" class="listhead">
<form name=mail action="/usr/www/region45/htdocs/Mail.php" method="post">
<input type="checkbox" name="mail"> Почта </form> </td>

тоесть у меня получаются две переменные POST но для разных файлов. А значит надо искать другой подход. либо чтото еще прописывать.
Я же хотел чтобы "checkbox" просто запускал на исполнение файл mail.php
САМОЕ ТРУДНОЕ У МЕНЯ СДЕЛАТЬ ТАК ЧТОБЫ ТО ЧТО РАБОТАЕТ РАБОТАЛО И ВПРЕДЬ И В ТОЖЕ ВРЕМЯ СПРАВИТЬСЯ С ПОСТАВЛЕННОЙ ЗАДАЧЕЙ.

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0369]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33