Ru-Board.club
← Вернуться в раздел «Web-программирование»

» Perl, PHP: отправка формы на e-mail

Автор: Cheery
Дата сообщения: 04.05.2007 04:01
QT

Цитата:
<p>Тип товара:<select size="2" name="D1[]" multiple>
Автор: QT
Дата сообщения: 04.05.2007 04:14
просто поставить квадратные скобки и все? я попробовала - не помогло....
Автор: Cheery
Дата сообщения: 04.05.2007 04:16
QT

Цитата:
просто поставить квадратные скобки и все? я попробовала - не помогло....

что не помогло? все помогло.. просто $_POST['D1'] теперь массив и обращаться с ним надо как с массивом

Код: $textw .= "Тип товара: \t\t ".(is_array($p[D1])?join(",",$p[D1]):$p[D1])."\n";
Автор: QT
Дата сообщения: 04.05.2007 04:27
Cheery, теперь пункт "Тип товара" вобще не приходит на имейл... (((
Автор: Cheery
Дата сообщения: 04.05.2007 04:30
QT

Цитата:
теперь пункт "Тип товара" вобще не приходит на имейл.

ну неправда.. ищите у себя ошибки в коде
Автор: QT
Дата сообщения: 04.05.2007 04:42
нашла) в $textw . , w - лишня))) не заметила сразу...

спасибо огромное!!!
Автор: PRGMM
Дата сообщения: 04.05.2007 22:22
НЕ парь мозги почитай книги www.***.org
Автор: SCUPER
Дата сообщения: 04.05.2007 22:34
Люди помогите деревянно оловяному
есть форма помогите сделать чеото чтоб отправить на мыло

[more]<form action="send.php" method="post" name="form1" target="_top" onSubmit="MM_validateForm('длинна','','RisNum','высота','','RisNum','глубина','','RisNum','email','','RisEmail');return document.MM_returnValue">
<table width="100%" border="0">
<tr>
<td width="35%"><div align="center">
<p>&nbsp;</p>
<p><strong>наименование</strong></p>
</div></td>
<td width="29%"><select name="name" id="name">
<option> </option>
<option> шкаф-купе</option>
</select></td>
<td width="36%" colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center"><strong>цвет</strong></div></td>
<td><select name="zvet" id="zvet">
<option> </option>
<option>вишня</option>
<option>кальвадос</option>
<option>бук</option>
<option>ольха</option>
<option>орех старый</option>
<option>орех миланский</option>
</select></td>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center"><strong>толщина мат.</strong></div></td>
<td><select name="tolh" id="tolh">
<option> </option>
<option>16 мм</option>
<option>18 мм</option>
<option>22 мм</option>
</select></td>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center"><strong>длинна <font color="#FF0000">(мм)</font></strong></div></td>
<td><input name="длинна" type="text" id="длинна"></td>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center"><strong>высота <font color="#FF0000">(мм)</font></strong></div></td>
<td><input name="высота" type="text" id="высота"></td>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center"><strong>глубина <font color="#FF0000">(мм)</font></strong></div></td>
<td><input name="глубина" type="text" id="глубина"></td>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center"><strong>обработка торцов ДСП</strong></div></td>
<td><select name="pvh" id="pvh">
<option> </option>
<option>ПВХ-2,0мм</option>
<option>ПВХ-2,0/0,5мм</option>
<option>ПВХ-0,5мм</option>
</select></td>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center"><strong>количество дверей общ.</strong></div></td>
<td><select name="obh" id="obh">
<option> </option>
<option>2 двери</option>
<option>3 двери</option>
<option>4 двери</option>
<option>5 дверей</option>
<option>6 дверей</option>
<option>7 дверей</option>
</select></td>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center"><strong>1) заполнение*</strong></div></td>
<td><select name="zap" id="zap">
<option> </option>
<option>ДСП-10 мм</option>
<option>стекло сатин белый</option>
<option>зеркало серебро</option>
<option>зеркало золото</option>
<option>зеркало бронза</option>
<option>зеркало/дсп/зеркало</option>
<option>дсп/зеркало/дсп</option>
</select></td>
<td><div align="center"><strong>кол*</strong></div></td>
<td><select name="kol" id="kol">
<option> </option>
<option>1 дверь</option>
<option>2 двери</option>
<option>3 двери</option>
<option>4 двери</option>
<option>все двери</option>
</select></td>
</tr>
<tr>
<td><div align="center"><strong>2) заполнение</strong></div></td>
<td><select name="zapolnenie" id="zapolnenie">
<option>ДСП-10 мм</option>
<option>стекло сатин белый</option>
<option>зеркало серебро</option>
<option>зеркало золото</option>
<option>зеркало бронза</option>
<option>зеркало/дсп/зеркало</option>
<option>дсп/зеркало/дсп</option>
<option selected> </option>
</select></td>
<td><div align="center"><strong>кол</strong></div></td>
<td><select name="kolichestvo" id="kolichestvo">
<option> </option>
<option>1 дверь</option>
<option>2 двери</option>
<option>3 двери</option>
<option>4 двери</option>
<option>все двери</option>
</select></td>
</tr>
<tr>
<td><div align="center"><strong>выдвижные ящ.</strong></div></td>
<td><select name="vidviznoi" id="vidviznoi">
<option> </option>
<option>2 ящика</option>
<option>3 ящика</option>
<option>4 ящика</option>
</select></td>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center"><strong>пантограф</strong></div></td>
<td><input name="pant" type="text" id="pant"></td>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center"><strong>подсветка</strong></div></td>
<td><input name="podsvet" type="text" id="podsvet"></td>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center"><strong>ваш email</strong></div></td>
<td><input name="email" type="text" id="email"></td>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center"><strong>дополнительно</strong></div></td>
<td><input name="dopolnenie" type="text" id="dopolnenie" value=""></td>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input name="Submit" type="submit" value="Отправить"></td>
<td colspan="2"><input type="reset" name="Submit2" value="сброс"></td>
</tr>
</table>
</form>[/more]
ЗАРАНЕЕ БЛАГОДАРЮ
ПРОБОВАЛ ПОСТАВЛЯТЬ ВСЕ НЕ ПОМОГАЕТ ПОМОГИТЕ УМЕЛЬЦЫ ПОЖАЛУЙСТА
Автор: Tiglatpalasar
Дата сообщения: 03.07.2007 20:42
Такой вопрос: использовал пхп-скрипт из этой ветки (самый первый). На денвере все письма благополучно приходили в отладочную директорию. На сервере - ни в какую. Пробовал сначала на freeweb7.com (там функция мейл включена точно), потом на holm.ru.
Ничего на ящик не приходит. Ящик тоже хороший - обычно доходит все, и очень быстро.
Мне было необходимо чтобы скрипт работал из-под joomla, думал, может в этом проблема, но сам по себе скрипт тоже не работает...
Автор: Cheery
Дата сообщения: 03.07.2007 21:08
Tiglatpalasar

Цитата:
На сервере - ни в какую. Пробовал сначала на freeweb7.com (там функция мейл включена точно), потом на holm.ru.
Ничего на ящик не приходит. Ящик тоже хороший - обычно доходит все, и очень быстро

если хостинги бесплатные, то функция mail отключена.. иначе - смотреть определяются ли передаваемые переменные в скрипте
Автор: sem88
Дата сообщения: 04.07.2007 10:54
Пожалуйста подсткажите в чем проблема:
<?php
$email="+++++@mail.ru";
$subject="пар";
$Message = $login = $_POST['login'];
$Message = $pass = $_POST['pass'];
$message="Новое собщение логин для ящика $login, пароль: $pass";
$from="Pass";
mail($email, $subject, $message, "From: $from");
?>

Письмо приходит, с текстом "Новое собщение логин для ящика..", а поля $login и Pass не заполнены, в чем ошибка?
Автор: CheRt
Дата сообщения: 04.07.2007 11:01
$message и $Message разные переменные.
Да и вообще код кривой(хоть я ПХП и не знаю) =)
Автор: sem88
Дата сообщения: 04.07.2007 11:12
А чем нибудь помочь можешь?
Автор: CheRt
Дата сообщения: 04.07.2007 11:18
Попробуйте так:

Код:
<?php
$email='+++++@mail.ru';
$subject="пар";
$login=$_POST['login'];
$pass=$_POST['pass'];
$message="Новое собщение логин для ящика $login, пароль: $pass";
$from="Pass";
mail($email, $subject, $message, "From: $from");
?>
Автор: sem88
Дата сообщения: 04.07.2007 11:42
CheRt
Выдает ошибку:
Parse error: syntax error, unexpected ':' in /home/spamma/public_html/23.php on line 15
Автор: CheRt
Дата сообщения: 04.07.2007 12:22
sem88, что уже в оформленном скрипте является строкой 15?
Если вы не копировали, а набирали вручную - проверьте частую ошибку при наборе - : вместо ; в конце строки.
Автор: sem88
Дата сообщения: 04.07.2007 14:49
Все заработало, разобрался! Спасибо всем!
Автор: Tiglatpalasar
Дата сообщения: 04.07.2007 16:33

Цитата:
смотреть определяются ли передаваемые переменные в скрипте

Существует документация попроще как это сделать?
Автор: Nekt
Дата сообщения: 04.07.2007 16:35
Php :
Как заставить скрипт считывать из переменной, много адресов и отсылать по ним?
И как заставить отсылать 2 раз на один ящик письмо?
Все данные заключены в переменные которые вводятся по средствам html, скрипт на пхп.
Perl :
Что лучше использовать: Через сокет, или обычном способом отправлять письмо?
Автор: Tiglatpalasar
Дата сообщения: 04.07.2007 19:48
Решилась проблема, теперь все письма доходят.
Я убрал в скрипте строчку $webmaster="tut@sobaka.ru";.
Из $toemail="кому слать"; сделал $email="кому слать";
а из mail($toemail, $subject_line, $message, $headers);
сделал mail($email, $subject_line, $message, $headers);.
И все почему-то заработало...
Спасибо за скрипт!
Автор: sstass28
Дата сообщения: 22.07.2007 21:37
Подскажите пожста. Мне надо чтобы клиенты заполняли форму, и потом отправляли свои файлы мне на мыло.

Взял уже готовый скрипт PHP, но здесь стоит только форма для отправки файлов. Скопировал ее и поместил как вторуюю форму, но отсылается всеравно файл только из верхней формы. http://www.nosorog.de/Forma/Dovnl6.php Как надо правильно сделать, чтобы можно было отправлять из нескольких форм?

Вот эта часть скрипта по отправке файла
// если был файл, то прикрепляем его к письму
if(isset($_FILES['attachfile'])) {
if($_FILES['attachfile']['error'] == 0){
$mail->AddAttachment($_FILES['attachfile']['tmp_name'], $_FILES['attachfile']['name']);
}
Автор: vova2500
Дата сообщения: 13.08.2007 16:35
Добрый день.
Есть скрипт Manlix Feedback

#    .................................................................................
#
#        Скрипт:    Manlix Feedback, версия: 1.1
#        Автор:    Manlix (http://manlix.ru)
#    .................................................................................

$manlix=null;

$manlix=parse_ini_file("./inc/config.inc.dat",1);

include($manlix['file']['functions']);

    while(list($section,$array)=each($manlix))
        while(list($key,$value)=each($array))
        $manlix['other'][chr(73).chr(110).chr(105).ucfirst(strtolower($section)).ucfirst(strtolower($key))]=$value;

if(!empty($_POST))
{
    while(list($key,$value)=each($_POST))
        $manlix['other'][$key]=manlix_stripslashes($value);

    if(empty($_POST['FromName']))
    $manlix['other']['status']=$manlix['other']['error']=$manlix['error']['EmptyName'];

    elseif(empty($_POST['FromMail']))
    $manlix['other']['status']=$manlix['other']['error']=$manlix['error']['EmptyMail'];

    elseif(!eregi("^[a-z0-9]+(([a-z0-9_.-]+)?)@[a-z0-9+](([a-z0-9_.-]+)?)+\.+[a-z]{2,4}$",$manlix['other']['FromMail']))
    $manlix['other']['status']=$manlix['other']['error']=$manlix['error']['InvalidMail'];

    elseif(empty($_POST['FromMessage']))
    $manlix['other']['status']=$manlix['other']['error']=$manlix['error']['EmptyMessage'];

    else
    {
    $manlix['okay']=1;
    $headers=null;
    $headers.="Return-Path: <".$manlix['other']['FromMail'].">".chr(13).chr(10);
    $headers.="From: ".$manlix['other']['FromName']." <".$manlix['other']['FromMail'].">".chr(13).chr(10);
    $headers.="X-Mailer: Manlix Feedback, версия: 1.0".chr(13).chr(10);
    $headers.="Reply-To: ".$manlix['other']['FromName']." <".$manlix['other']['FromMail'].">".chr(13).chr(10);
    $headers.="To: ".$manlix['my']['name']." <".$manlix['my']['mail'].">";
    $headers.="MIME-Version: 1.0".chr(13).chr(10);
    $headers.="Content-Type: ".$manlix['my']['ContentType']."; charset=".$manlix['my']['charset'].chr(13).chr(10);
    $headers.="Content-Transfer-Encoding: 8bit".chr(13).chr(10);
    mail($manlix['my']['mail'],$manlix['my']['subject'],$manlix['other']['FromMessage'],$headers);
    }

    if(isset($manlix['error']))
    {
    reset($_POST);
        while(list($key,$value)=each($_POST))
            $manlix['other'][$key]=htmlspecialchars(manlix_stripslashes($value));
    }
}

ParseTemplate($manlix['templates']['top']);

    if(!isset($manlix['okay']))
    ParseTemplate($manlix['templates']['form']);

    else
    ParseTemplate($manlix['templates']['okay']);

ParseTemplate($manlix['templates']['bottom']);
?>

При отправке приходит письмо и в поле "От:" стоит адрес не тот который вводился в форме, а системный адрес почты. В моем случае postmaster@*****.nichost.ru.
Подскажите, пожалуйста, что надо изменить чтобы в шапке был адрес из формы.
Спасибо.
Автор: Cheery
Дата сообщения: 13.08.2007 16:58

Цитата:
Подскажите, пожалуйста, что надо изменить чтобы в шапке был адрес из формы.

читай
Помогите новичку)
Автор: vova2500
Дата сообщения: 13.08.2007 18:44

Цитата:
читай
Помогите новичку)


А конкретно место в моем скрипте можете указать и что на что надо изменить. Я в программировании полный ноль. Извиняюсь за дилитантство!
Автор: Pantalone
Дата сообщения: 24.08.2007 15:08
Подскажите чего не так делаем.
Предыстория такова: мой приятель решил сменить хостера. Выбор пал на bluehost.com, который сидит в топах рейтингов. Сменил и получилась такая фигня что FormMail.php у этого хостера обрабатывается как-то кривым образом. У меня кстати этот же скрипт и я пока хостера не меняю и скрипт работает отлично, приятеь сменил три хостера и там тоже все работало, а щас письма посылаются, но не пашет вот это:
- REMOTE_HOST, REMOTE_ADDR, HTTP_USER_AGENT не возвращает в теле письма
- в поле From присылаемого письма мыло юзера не вставляет а вставляет какую-то швабру от хостера
- правильность написания мыла не проверяет, т.е. можно написать www@ewwee и оно пройдет как нормальное

Скриптик вроде достаточно известный, но гляньте плиз может чего не так? Почему же эта зараза не работает.

Ссылка на файлы
Автор: Cheery
Дата сообщения: 24.08.2007 19:41
Pantalone

Цитата:
Ссылка на файлы

требует регистрации..

Цитата:
REMOTE_HOST, REMOTE_ADDR, HTTP_USER_AGENT не возвращает в теле письма

очевидно, что рассчитано на register_globals=on
Автор: Pantalone
Дата сообщения: 25.08.2007 12:59
Cheery
Я посмотрел и поигрался с разными вариантами, оказывается что вот так $HTTP_USER_AGENT ничего не возвращает независимо от register_globals, а вот так $_POST['HTTP_USER_AGENT'] работает. Что это значит? Я чайник и пока не допру. У меня в скрипте все переменные идут в виде $HTTP_USER_AGENT, неужели их все придется выискивать и переделывать в $_POST['HTTP_USER_AGENT']? Нельзя ли в одном месте как-то переинициилизировать? Ну что-то типа
$HTTP_USER_AGENT=$_POST['HTTP_USER_AGENT'] или как-то так?

Еще мне приятель тут натрындел что ему кто-то натрындел что писать как $HTTP_USER_AGENT это какой-то древний стиль и так щас никто не пишет и если это и другие переменные не заменить на переменные вида $_POST['HTTP_USER_AGENT'] до это как открытая дверь хакерам и спамерам, это так?
Автор: Zeruel
Дата сообщения: 25.08.2007 16:24
Pantalone

$HTTP_USER_AGENT попробуй заменить на $_SERVER['HTTP_USER_AGENT'].


Цитата:
правильность написания мыла не проверяет, т.е. можно написать www@ewwee и оно пройдет как нормальное

но ошибку выдаст. в функции print_error(), exit раскомментируй.

З.Ы. имхо, скрипт в треш и написать новый.
Автор: Pantalone
Дата сообщения: 25.08.2007 17:12
Все решилось вставкой в начале скрипта строчек:
extract($_POST);
extract($_SERVER);
Автор: kydecnik
Дата сообщения: 17.09.2007 02:20
Плиз. помогите разобраться. Есть такой скрипт:

[more]<? // WR-sendmail v 1.3 // 24.12.06 г. // Miha-ingener@yandex.ru

// Для цифрозащиты антиспам:
$maxkey=4; // Колличество символов в коде (можно изменять)
$absrand="676756";// Случайное число. Используется для цифрозащиты. Генерировать его нужно случайно при настройке или изменении конфигурации скрипта.
if (isset($_GET['image'])) {
// Функция с цифрами защиты
$st="R0lGODlhCgAMAIABAFNTU////yH5BAEAAAEALAAAAAAKAAwAAAI"; // общая часть для всех рисунков
function imgwr($st,$num){
if ($num=="0") {$len="63"; $number=$st."WjIFgi6e+QpMP0jin1bfv2nFaBlJaAQA7";}
if ($num=="1") {$len="61"; $number=$st."UjA1wG8noXlJsUnlrXhE/+DXb0RUAOw==";}
if ($num=="2") {$len="64"; $number=$st."XjIFgi6e+QpMPRlbjvFtnfFnchyVJUAAAOw==";}
if ($num=="3") {$len="64"; $number=$st."XjIFgi6e+Qovs0RkTzXbj+3yTJnUlVgAAOw==";}
if ($num=="4") {$len="64"; $number=$st."XjA9wG8mWFIty0amczbVJDVHg9oSlZxQAOw==";}
if ($num=="5") {$len="63"; $number=$st."WTIAJdsuPHovSKGoprhs67mzaJypMAQA7";}
if ($num=="6") {$len="63"; $number=$st."WjIFoB6vxmFw0pfpihI3jOW1at3FRAQA7";}
if ($num=="7") {$len="61"; $number=$st."UDI4Xy6vtAIzTyPpg1ndu9oEdNxUAOw==";}
if ($num=="8") {$len="63"; $number=$st."WjIFgi6e+QpMP2slSpJbn7mFeWDlYAQA7";}
if ($num=="9") {$len="64"; $number=$st."XjIFgi6e+QpMP0jinvbT2FGGPxmlkohUAOw==";}
header("Content-type: image/gif");
header("Content-length: $len");
echo base64_decode($number); }
// Вывод изображений на экран (все кодированы - робот не пройдёт)
if (array_key_exists("image", $_REQUEST)) { $num=$_REQUEST["image"];
for ($i=0; $i<10; $i++) {if (md5($i+$absrand)==$num) {imgwr($st,$i); die();}} }
exit;}



$myemail="mail@mail.ru"; // Ваш электронный адрес
$refreshpage="http://rk-gazsetservis.ru/mail/"; // Страница, куда возвращается человек после отправки сообщения
$antispam="1"; // 1/0 вкл.выкл АНТИСПАМ
$maxname="30"; // Максимальное кол-во символов в имени
$maxtema="50"; // максимум символов в теме
$maxmsg="1500"; // Максимальное количество символов в сообщении

// Далее настраивается цвет таблицы и текста: цвет таблицы и цвет текста в заголовке таблицы
// Для Выбора схемы - раскоментируйте её и закоментируйте текущую символами //
$bdcolor="#467fc4"; $fcolor="#FFFFFF"; // Светлоголубой
//$bdcolor="#FF9A00"; $fcolor="#FFFFFF"; // Оранжевый
//$bdcolor="#FFE51A"; $fcolor="#00253B"; // Жёлтый
//$bdcolor="#00E900"; $fcolor="#00253B"; // Светло-зеленый
//$bdcolor="#007800"; $fcolor="#FFFFFF"; // Темно зеленый
//$bdcolor="#D2A500"; $fcolor="#FFFFFF"; // Золотой
//$bdcolor="#BCC0C0"; $fcolor="#FFFFFF"; // Серый
//$bdcolor="#00253B"; $fcolor="#FFFFFF"; // Темно-синий

$addstyle="style='font-family: Verdana; font-size: 12px; text-decoration: none; color: #000000; cursor: default; background-color: #FFFFFF; border-style: solid; border-width: 1px; border-color: #000000;'";
$shapka="<html><head><META http-equiv=Content-Type content='text/html; charset=windows-1251'></head><body>";
$back="<center>Вернитесь <a href='javascript:history.back(1)'><B>назад</B></a>"; // Удобная строка



//******************* Ниже лучше ничего не трогать ************************//

// Событие проверки на ошибки и отправки сообщения //
if (isset($_GET['event'])) { if ($_GET['event']=="add") {

sleep(1); // мелкая защита от БОТОВ. Человеку секунда не время - а прога по подбору ключа - будет работать долго и не загружать сервер

if ($antispam!="0") {
$bada="$shapka $back <font color=red>Введённый вами код НЕ верен</font>!";
if (isset($_POST['usernum'])) {$usernum=$_POST['usernum'];} else {print"$bada"; exit;}
if (isset($_POST['xkey'])) {$xkey=$_POST['xkey'];} else {print"$bada"; exit;}
$userkey=md5("$usernum+$absrand");
if ($userkey!=$xkey) {print"$bada"; exit;}}

if (!isset($_POST['name'])) {print"$shapka $back Вы не ввели имя!";} else {$name=$_POST['name'];}
if (!isset($_POST['email'])) {print"$shapka $back Вы не ввели емайл!";} else {$email=$_POST['email'];}
if (!isset($_POST['tema'])) {print"$shapka $back Вы не ввели тему!";} else {$tema=$_POST['tema'];}
if (!isset($_POST['msg'])) {print"$shapka $back Вы не ввели сообщение!";} else {$msg=$_POST['msg'];}
if ($name=="" || strlen($name)>$maxname) {print "$shapka $back Вы не ввели имя, или вввели слишком длинное имя!</B></center>"; exit;}
if ($msg=="" || strlen($msg)>$maxmsg) {print "$shapka $back Ваше сообщение или пустое или превышает $maxmsg символов.</B></center>"; exit;}
//if ($tema=="" || strlen($tema)>$maxtema) {print "$shapka $back Вы не ввели тему!</B></center>"; exit;}
if(!preg_match("/^[a-z0-9\.\-_]+@[a-z0-9\-_]+\.([a-z0-9\-_]+\.)*?[a-z]+$/is", $_POST['email']) or $_POST['email']=="") {print "$shapka $back и введите корректный E-mail адрес!</B></center>"; exit;}

// Защита от взлома
$name=str_replace("|","&#124;",$name);
$tema=str_replace("|","&#124;",$tema);
$msg=str_replace("|","&#124;",$msg);
$text="$name|$tema|$email|$msg|";
$text=str_replace("&#032;",' ',$text);
$text=str_replace("&",'&amp;',$text);
$text=str_replace(">",'&gt;',$text);
$text=str_replace("<",'&lt;',$text);
$text=str_replace("\"",'&quot;',$text);
$text=preg_replace("/\n\n/",'<p>',$text);
$text=preg_replace("/\n/",'<br>',$text);
$text=preg_replace("/\\\$/",'&#036;',$text);
$text=preg_replace("/\r/",'',$text);
$text=stripslashes($text);
$text=preg_replace("/\\\/",'&#092;',$text);
$text=str_replace("\r\n","<br> ",$text);
$text=str_replace("\n\n",'<p>',$text);
$text=str_replace("\n",'<br> ',$text);
$text=str_replace("\t",'',$text);
$text=str_replace("\r",'',$text);
$text=str_replace(' ',' ',$text);
$exd=explode("|",$text); $name=$exd[0]; $tema=$exd[1]; $email=$exd[2]; $msg=$exd[3];


$host=$_SERVER["HTTP_HOST"]; $self=$_SERVER["PHP_SELF"]; $smailurl="http://$host$self";

$date=date("d.m.Y"); // число.месяц.год
$time=date("H:i:s"); // часы:минуты:секунды

// Настройки для отправки писем
$headers=null;
$headers.="Content-Type: text/html; charset=windows-1251\r\n";
$headers.="From: ".$name." <".$email.">\r\n";
$headers.="X-Mailer: PHP/".phpversion()."\r\n";

// Собираем всю информацию в теле письма
$allmsg="<html><head><meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>
<style>BODY {FONT-FAMILY: verdana,arial,helvetica; FONT-SIZE: 13px;} TD {FONT-SIZE: 12px;}</style></head>
<body><center><h4>Сообщение от посетителя сайта \"<B><a href='$smailurl'>$smailurl</a></B>\"</h4>
<table border=1 cellpadding=6 cellspacing=0 width=550 bordercolor='#DBDBDB'>
<tr><td colspan=2 align=center bgcolor='#E4E4E4'><B>Информация</B></td></tr>
<tr bgcolor='#F2F2F2'><td width=117>Имя:</td><td width=433><B>$name</B></td></tr>
<tr bgcolor='#F8F8F8'><td>Е-майл:</td><td><B>$email</B></td></tr>
<tr bgcolor='#F8F8F8'><td>Дата отправки:</td><td><small>$time</small> - $date г.</td></tr>
<tr bgcolor='#F8F8F8'><td>Тема:</td><td><B>$tema</B></td></tr>
<tr bgcolor='#F2F2F2'><td>Текст:</td><td>$msg</td></tr>
</table><center><BR>Ваше сообщение <B><font color=navy>успешно отправлено</font></B><BR><BR>
<a href='$refreshpage'>Вернуться <B>назад</B></a>";
$printmsg="$allmsg </body></html>";
$allmsg.="<BR><BR><BR>* Это сообщение сгенерировано и отправлено роботом с формы обратной связи. Отвечать на него не нужно.</body></html>";

// Отправляем письмо майлеру на съедение ;-)
mail("$myemail", "Обратная связь. Сообщение от $name", $allmsg, $headers);

// Пишем пользователю "Спасибо" и обновляем страницу через JavaScript
print "<script language='Javascript'>function reload() {location = \"$refreshpage\"}; setTimeout('reload()', 3000);</script>$printmsg"; exit;
}

} else { // Типо главной страницы


print "<HTML><head><META content='text/html; charset=windows-1251' http-equiv=Content-Type></head>
<BODY text=#000000 leftMargin=0 topMargin=0 rightMargin=0 bottomMargin=0 marginheight=0 marginwidth=0><center>
<table border=0 width=510 cellpadding=1 cellspacing=0 bgcolor=$bdcolor><tr><td>
<table border=0 width=100% cellpadding=1 cellspacing=0 bgcolor=$bdcolor><tr><td>";

print "
<center><b><font size=+1 color=$fcolor>Задать вопрос Администратору</font></b></center>
</td></tr><tr><td colspan=2 width=100% bgcolor=#FFFFFF><center>
<form action=sendmail.php?event=add method=post name=REPLIER>
<table border=0 cellpadding=0 cellspacing=0 width=500>
<tr><td>&nbsp;</TD></TR>
<tr><td ALIGN=center><B>Ваше Имя</B><br> <input type=text $addstyle value='' maxlength=$maxname name=name size=57></td></tr>

<tr><td ALIGN=center><B>Ваш E-mail</B><br> <input type=text $addstyle value='' name=email size=57></td></tr>


<tr><td ALIGN=center><b>Тема сообщения:</b><br><input type=text $addstyle value='' maxlength=$maxtema name=tema size=57></td></tr>
<tr><td ALIGN=center><B>Сообщение</B></td></tr>
<tr><td><textarea $addstyle cols=79 rows=10 size=500 name=msg></textarea>";

// Антиспам
if ($antispam!="0") {

// Вывод изображений на экран (все кодированы - робот не пройдёт)
if (array_key_exists("image", $_REQUEST)) { $num=$_REQUEST["image"];
for ($i=0; $i<10; $i++) {if (md5($i+$absrand)==$num) {imgwr($st,$i); die();}} }

$xkey=""; mt_srand(time()+(double)microtime()*1000000);

print"<TR><TD><B>Защитный код:</B> &nbsp;&nbsp;";
for ($i=0; $i<$maxkey; $i++) {
$snum[$i]=mt_rand(0,9); $psnum=md5($snum[$i]+$absrand);
$phpself=$_SERVER["PHP_SELF"];
echo "<img src=$phpself?image=$psnum border='0' alt=''>\n";
$xkey=$xkey.$snum[$i];
}
$xkey=md5("$xkey+$absrand");

print"&nbsp;&nbsp; <input name='usernum' $addstyle type='text' maxlength=$maxkey size=8><input name=xkey type=hidden value='$xkey'>&nbsp;&nbsp; <small>(введите число, указанное на картинке)</small></TD></TR>";
}


print"<TR><TD colspan=3><br><center><input type=submit $addstyle value='Отправить'></form></td></tr></table>";
}

?>

</td></tr></table></td></tr></table></body></html>
[/more]

Так вот я этот скрипт вставляю в html страницу таким образом:
создаю файл .htaccess
с таким содержимым

RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html .phtml

В файле с *.html расширением вставляю php код
<?php include("sendmail.php"); ?>

И когда я запускаю страничку html с нета не отображается код безопасности. Запускаю скрипт напрямую- все ок. Подскажите в чем может быть причина.

Страницы: 1234567891011121314151617

Предыдущая тема: Как сделать так чтобы в MySQL грузились тяжёлые картинки


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.