Без описания |
Поиск в теме | Версия для печати |
victor |
Отправлено: 25 Февраля, 2005 - 09:10:55
|
Full Member
Покинул форум
Сообщений всего: 177
Дата рег-ции: Февр. 2005
Карма 0
|
Рассылка работает но приходит пустая страница.
Посмотри, что я не так сделал.
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">Рубрика: </td>
<td width="25%"><select name="category" size=1><?=$this->makeSBOptions(0,"/categories.tpl") ?></select></td>
<td width="20%" align="right" class="listhead">Регион: </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> </td>
<td colspan=3><input type="text" name="headline" size=64 value="<?=$headline ?>"></td>
</tr>
<tr>
<td align="right" class="listhead">Источник: </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">Подписи: </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">Автор: </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">Значимость: </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">Язык: </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> </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> </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> </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">Изображение: </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">Дата публикации: </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"> </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> </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>"); ?>
Я тебе выделил все строками. А рассылку назвал ПОЧТА |
|
|
TvoyWeb |
Отправлено: 28 Февраля, 2005 - 05:37:35
|
Главный здесь
Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003
Откуда: Tashkent Uz
Карма 52
|
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.
Попробуй потести эти файлы.
Если решишь подучиться, то наверное создадим отдельную тему и я попробую объяснить то что знаю. |
|
|
|
Поиск в теме | Версия для печати |
Страниц (6): « 1 2 3 [4] 5 6 » |
Сейчас эту тему просматривают: 5 (гостей: 5, зарегистрированных: 0, скрытых: 0) |
« Форумы » |
Все гости форума могут просматривать этот раздел. Только администраторы и модераторы могут создавать новые темы в этом разделе. Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
|
|
|