|
|
|
|
|
для: Ramzero
(07.07.2007 в 16:28)
| | ВСЕМ СПАСИБО, СПРАВИЛСЯ !!!!!!!!!!!!!!! | |
|
|
|
|
|
|
|
для: Борис
(07.07.2007 в 17:13)
| | Борис, вставив предложенную Вами запись в скрипт, отмечаю, что ровным счетом ничего не присходит...
Что-то не так? Не подскажете, в чем поблема?
<?php
// Устанавливаем соединение с базой данных
require_once ("../../admin/config.php");
// Проверим достаточно ли информации для занесения в базу данных
// нового каталога
// Определяем скрыт каталог (hide) или доступен (show)
if($_POST['hide'] == "on") $showhide = "show";
else $showhide = "hide";
// Если во временном каталоге имеется соответствующий полю image
// файл, копируем его из временного каталога в каталог /files
if (!empty($_FILES['image']['tmp_name']))
{
// Определяем расширение файла
$ext = strrchr($_FILES['image']['name'], ".");
// Формируем путь к файлу
$image = "files/".date("YmdHis",time())."$ext";
$smallimage = "files/".date("YmdHis",time())."_s$ext";
// Перемещаем файл из временной директории сервера в
// директорию /files Web-приложения
if (copy($_FILES['image']['tmp_name'], "../".$image))
{
// Уничтожаем файл во временной директории
unlink($_FILES['image']['tmp_name']);
// Изменяем права доступа к файлу
chmod("../".$image, 0644);
}
}
else links($_POST['id_catalog'], "Фотография не передана на сервер");
// Заменяем одинарные кавычки обратными
$_POST['a'] = str_replace("'","`",$_POST['a']);
$_POST['b'] = str_replace("'","`",$_POST['b']);
$_POST['c'] = str_replace("'","`",$_POST['c']);
$_POST['d'] = str_replace("'","`",$_POST['d']);
$_POST['e'] = str_replace("'","`",$_POST['e']);
$_POST['pos'] = str_replace("'","`",$_POST['pos']);
// Формируем и выполняем SQL-запрос на добавление нового каталога
$query = "INSERT INTO cott VALUES (NULL,
'".$_POST['a']."',
'".$_POST['b']."',
'".$_POST['c']."',
'".$_POST['d']."',
'".$_POST['e']."',
'".$_POST['post']."',
'".$_POST['date_year']."-".$_POST['date_month']."-".$_POST['date_day']." ".sprintf("%02d",$_POST['date_hour']).":".sprintf("%02d",$_POST['date_minute']).":00',
'$image',
'".$_POST['pos']."',
'$showhide',
".$_POST['id_parent'].")";
if ($result)
{
$mailto="post@mail.ru";
$message="This is messgage";
$subject="novaja zapis";
mail($mailto, $subject, $message);
}
if(mysql_query($query))
{
// Автоматически осуществляем переход на главную страницу
// администрирования
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'>
</HEAD>";
} else links($_POST['id_catalog'], "Ошибка<br> $query");
// Функция вывода предупреждения и ссылок возврата
function links($id_catalog, $msg)
{
echo "<p>".$msg."</p>";
echo "<p><a href=# onClick='history.back()'>
Вернуться к правке новости</a></p>";
echo "<p><a href=index.php?id_parent=$id_catalog>
Администрирование новостей</a></p>";
exit();
}
?> | |
|
|
|
|
|
|
|
для: Trianon
(09.07.2007 в 02:21)
| | Гравицапа хорошая, но куда ее пристроить? :))) Я не конструктор летающих тарелок, я слишком "земное" существо. Скрипт хорош, отправляет сообщения с вложениями, очень мило, но как сие привязать к моему скрипту? | |
|
|
|
|
|
|
|
для: Ramzero
(08.07.2007 в 19:12)
| | пример отправки сообщения с файлом Вы можете найти в
http://softtime.ru/scripts/mailattach.php | |
|
|
|
|
|
|
|
для: Trianon
(07.07.2007 в 19:11)
| | Небольшое пояснение: Уведомление о новой записи в БД должен получать администратор сайта, а не посетитель, производивший запись. На почту я хочу транслировать любое событие, произошедшее в базе данных.
От идеи с триггерами, я понял, можно смело отказаться. В таком случае привожу здесь скрипт, который производит запись:
<?php
// Устанавливаем соединение с базой данных
require_once ("../../admin/config.php");
// Определяем скрыт каталог (hide) или доступен (show)
if($_POST['hide'] == "on") $showhide = "show";
else $showhide = "hide";
// Если во временном каталоге имеется соответствующий полю image
// файл, копируем его из временного каталога в каталог /files
if (!empty($_FILES['image']['tmp_name']))
{
// Определяем расширение файла
$ext = strrchr($_FILES['image']['name'], ".");
// Формируем путь к файлу
$image = "files/".date("YmdHis",time())."$ext";
$smallimage = "files/".date("YmdHis",time())."_s$ext";
// Перемещаем файл из временной директории сервера в
// директорию /files Web-приложения
if (copy($_FILES['image']['tmp_name'], "../".$image))
{
// Уничтожаем файл во временной директории
unlink($_FILES['image']['tmp_name']);
// Изменяем права доступа к файлу
chmod("../".$image, 0644);
}
}
else links($_POST['id_catalog'], "Фотография не передана на сервер");
// Заменяем одинарные кавычки обратными
$_POST['a'] = str_replace("'","`",$_POST['a']);
$_POST['b'] = str_replace("'","`",$_POST['b']);
$_POST['c'] = str_replace("'","`",$_POST['c']);
$_POST['d'] = str_replace("'","`",$_POST['d']);
$_POST['e'] = str_replace("'","`",$_POST['e']);
$_POST['pos'] = str_replace("'","`",$_POST['pos']);
// Формируем и выполняем SQL-запрос на добавление нового каталога
$query = "INSERT INTO any VALUES (NULL,
'".$_POST['a']."',
'".$_POST['b']."',
'".$_POST['c']."',
'".$_POST['d']."',
'".$_POST['e']."',
'".$_POST['date_year']."-".$_POST['date_month']."-".$_POST['date_day']." ".sprintf("%02d",$_POST['date_hour']).":".sprintf("%02d",$_POST['date_minute']).":00',
'$image',
'".$_POST['pos']."',
'$showhide',
".$_POST['id_parent'].")";
if(mysql_query($query))
{
// Автоматически осуществляем переход на главную страницу
// администрирования
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php?id_parent=".$_POST['id_parent']."'>
</HEAD>";
} else links($_POST['id_catalog'], "Ошибка<br> $query");
// Функция вывода предупреждения и ссылок возврата
function links($id_catalog, $msg)
{
echo "<p>".$msg."</p>";
echo "<p><a href=# onClick='history.back()'>
Вернуться к правке новости</a></p>";
echo "<p><a href=index.php?id_parent=$id_catalog>
Администрирование новостей</a></p>";
exit();
}
?>
Спасибо за участие. | |
|
|
|
|
|
|
|
для: Ramzero
(07.07.2007 в 17:52)
| | >Ну, скажем так, что мы дали абсолютную свободу посетителям сайта и они могут размещать информацию где им заблагорассудится.
Но даже в этом случае
а) размещение информации обычно выполняется посредством очень небольшого количества скриптов
б) совсем не факт, что если один посетитель хочет уведомления о пополнении любого (или какого-то одного) контента, то другой хочет то же самое.
Поэтому идею с триггерами Вам лучше рассматривать лишь как идею.
Есть и другие трудности (даже если обойтись без триггеров) .
Подписка посетителей на рассылку уведомлений должна быть достаточно гибкой, посетителям длжна быть предоставлена возможность получать лишь те уведомления в которых они нуждаются, и возможность отключить поток писем по первому требованию.
В противном случае очень легко оказаться в положении спаммера.
Вообще без организации процесса подписки рассылать никакие сообщения (кроме как в свой адрес) недопустимо по той же причине. Так что изменением одного скрипта дело не ограничится.
Если Вы не ощущаете в себе достаточного опыта и ответственности - лучше за это дело сами не беритесь, а поручите работу специалисту. Если опасность оказаться спаммером Вас не беспокоит... что ж , можете попробовать.
>Но процесс хотелось бы держать под контролем... Запись действительно происходит посредством скрипта, но все же в базу данных и, мне кажется отследить изменения в БД - это самое простое решение...
Нет, это совсем не самое простое решение, хотя бы потому, что собственный триггер придется писать для каждой таблицы.
>А что касается триггеров, то слово это я знаю всего каких-нибудь час-два:))) Если Вас не затруднит, объясните пожалуйста, как я могу использовать его.
Триггер - хранимая процедура SQL, реагирующая на добавление / изменение / удаление записей в таблице. Вчастности она может формировать другую таблицу, но не сама отправлять письма. Письма отправлять все равно должен скрипт. Вероятно - запускаемый по cron.
>Что касается скрипта, то я использую любезно предоставленную хозяевами форума систему публикации новостей. Если Вы подскажете, какие изменения я могу внести в файл addcat.php, чтобы при записи в БД мне приходило уведомление, я буду Вам очень признателен.
Она есть в разделах загрузки? Ссылку приведите пожалуйста.
Чтобы было понятно, о какой системе идет речь.
>И еще небольшая просьба, я в сей области дилетант и если Ваши рекомендации окажутся чуть более развернутыми, я смогу должным образом воспользоваться Вашим советом:)
Определитесь для начала, какие именно события Вы бы хотели транслировать на почту и каким именно посетителям. | |
|
|
|
|
|
|
|
для: Trianon
(07.07.2007 в 17:43)
| | Ну, скажем так, что мы дали абсолютную свободу посетителям сайта и они могут размещать информацию где им заблагорассудится. Но процесс хотелось бы держать под контролем... Запись действительно происходит посредством скрипта, но все же в базу данных и, мне кажется отследить изменения в БД - это самое простое решение...
А что касается триггеров, то слово это я знаю всего каких-нибудь час-два:))) Если Вас не затруднит, объясните пожалуйста, как я могу использовать его.
Что касается скрипта, то я использую любезно предоставленную хозяевами форума систему публикации новостей. Если Вы подскажете, какие изменения я могу внести в файл addcat.php, чтобы при записи в БД мне приходило уведомление, я буду Вам очень признателен.
И еще небольшая просьба, я в сей области дилетант и если Ваши рекомендации окажутся чуть более развернутыми, я смогу должным образом воспользоваться Вашим советом:)
Заранее благодарю. | |
|
|
|
|
|
|
|
для: Ramzero
(07.07.2007 в 16:28)
| | а в БД что - записи спонтанно возникают?
Тогда нужно применять триггеры, и вероятно, cron
А если записи кладет Ваш собственный скрипт - при чем тут БД? | |
|
|
|
|
|
|
|
для: Ramzero
(07.07.2007 в 16:28)
| | $query="insert into table_name ('pole_1', 'pole_2', 'pole_3') values ('$pole_1', '$pole_2', '$pole_3');";
$result=mysql_query($query);
if ($result)
{
$mailto="name@name.com";
$message="This is messgage";
$subject="novaja zapis";
mail($mailto, $subject, $message);
} | |
|
|
|
|
|
|
| Подскажите пожалуйста, какими средствами можно реализовать идею, смысл которой в заголовке темы. Заранее благодарю. | |
|
|
| |
|