1 (2016-01-14 12:59:55 отредактировано red.fraction.1998)

Тема: Срочно нужна помощь.

Нужно сделать на сайте блок с заявкой типа "Оставьте свой номер и мы вам перезвоним". Не могу понять, как реализовать это на данной CMS. Пробовал с помощью пост запросов, но это вообще не вариант, т.к. директорию которую создаю в корне и кладу в неё файл не могу открыть. Заявка в итоге должна прихродить на почтовый ящик указанный ранее в ручную.

Поделиться

2

Re: Срочно нужна помощь.

как мне обратится к данному скрипту посредством post -

<?php
$text = "Имя: ".$_POST["name"]."<br>Телефон: ".$_POST["phone"]."<br>Адрес<br>".$_POST["address"];
                        
function get_data($smtp_conn)
{
    $data="";
    while($str = fgets($smtp_conn,515))web
    {
        $data .= $str;
        if(substr($str,3,1) == " ") { break; }
    }
    return $data; 
}

$smtpserver="smtp.****.ru"; // адрес smtp-сервера   +++
$smtpport="587"; // порт smtp-сервера   +++
$maillogin="u***3"; // Логин smtp   +++
$mailpass="s********ng"; // Пароль smtp   +++

$senderdomain="vidnoermc.ru"; // Домен отправителя   +++

$sendermail="info@vidnoermc.ru"; // Адрес отправителя   +++
$replymail=$_POST["email"]; // Адрес для ответа

$recepname="Мастера на все руки!"; // Имя получателя

$recepmail="info@vidnoermc.ru"; // Куда отправлять заявки (наш email-адрес)   +++

$sendername=$_POST["name"]; // Имя отправителя
$replyname=$_POST["name"]; // Имя для ответа

$mailsubject="Заявка с сайта"; // Тема письма

$header="Date: ".date("D, j M Y G:i:s")." +0700\r\n";
$header.="From: =?utf-8?Q?".str_replace("+","_",str_replace("%","=",urlencode($sendername)))."?= <".$sendermail.">\r\n";
$header.="X-Mailer: The Bat! (v3.99.3) Professional\r\n";
$header.="Reply-To: =?utf-8?Q?".str_replace("+","_",str_replace("%","=",urlencode($replyname)))."?= <".$replymail.">\r\n";</br>
$header.="X-Priority: 3 (Normal)\r\n";
$header.="Message-ID: <172562218.".date("YmjHis").">\r\n";
$header.="To: =?utf-8?Q?".str_replace("+","_",str_replace("%","=",urlencode($recepname)))."?= <".$recepmail.">\r\n";
//если нужно слать копию, то добавьте: $header.="Cc: =?utf-8?Q?".str_replace("+","_",str_replace("%","=",urlencode($recepname)))."?= <ya@saitos.ru>\r\n"; 
$header.="Subject: =?utf-8?Q?".str_replace("+","_",str_replace("%","=",urlencode($mailsubject)))."?=\r\n";

$header.="MIME-Version: 1.0\r\n";
$header.="Content-Type: text/html; charset=utf-8\r\n";
$header.="Content-Transfer-Encoding: 8bit\r\n";

$file=fopen('maillog.txt', 'a');

$smtp_conn = fsockopen($smtpserver, $smtpport,$errno, $errstr, 10);
if(!$smtp_conn) {$current .= $recepmail." / ".$_POST["phone"]." / ".$_POST["name"]." / ".$_POST["email"]." соединение с сервером не прошло\r\n"; fwrite($file, $current); fclose($smtp_conn); exit;}
$data = get_data($smtp_conn);
fputs($smtp_conn,"EHLO ".$senderdomain."\r\n");
$code = substr(get_data($smtp_conn),0,3);
if($code != 250) {$current .= $recepmail." / ".$_POST["phone"]." / ".$_POST["name"]." / ".$_POST["email"]." ошибка приветсвия EHLO\r\n"; fwrite($file, $current); fclose($smtp_conn); exit;}
fputs($smtp_conn,"AUTH LOGIN\r\n");
$code = substr(get_data($smtp_conn),0,3);
if($code != 334) {$current .= $recepmail." / ".$_POST["phone"]." / ".$_POST["name"]." / ".$_POST["email"]." сервер не разрешил начать авторизацию\r\n"; fwrite($file, $current); fclose($smtp_conn); exit;}

fputs($smtp_conn,base64_encode($maillogin)."\r\n");
$code = substr(get_data($smtp_conn),0,3);
if($code != 334) {$current .= $recepmail." / ".$_POST["phone"]." / ".$_POST["name"]." / ".$_POST["email"]." ошибка доступа к такому юзеру\r\n"; fwrite($file, $current); fclose($smtp_conn); exit;}

fputs($smtp_conn,base64_encode($mailpass)."\r\n");
$code = substr(get_data($smtp_conn),0,3);
if($code != 235) {$current .= $recepmail." / ".$_POST["phone"]." / ".$_POST["name"]." / ".$_POST["email"]." не правильный пароль\r\n"; fwrite($file, $current); fclose($smtp_conn); exit;}

$size_msg=strlen($header."\r\n".$text);

fputs($smtp_conn,"MAIL FROM:<".$sendermail."> SIZE=".$size_msg."\r\n");
$code = substr(get_data($smtp_conn),0,3);
if($code != 250) {$current .= $recepmail." / ".$_POST["phone"]." / ".$_POST["name"]." / ".$_POST["email"]." сервер отказал в команде MAIL FROM\r\n"; fsmtp сервер write($file, $current); fclose($smtp_conn); exit;}

fputs($smtp_conn,"RCPT TO:<".$recepmail.">\r\n");
$code = substr(get_data($smtp_conn),0,3);
if($code != 250 AND $code != 251) {$current .= $recepmail." / ".$_POST["phone"]." / ".$_POST["name"]." / ".$_POST["email"]." Сервер не принял команду RCPT TO\r\n"; fwrite($file, $current); fclose($smtp_conn); exit;}

fputs($smtp_conn,"DATA\r\n");
$code = substr(get_data($smtp_conn),0,3);
if($code != 354) {$current .= $recepmail." / ".$_POST["phone"]." / ".$_POST["name"]." / ".$_POST["email"]." сервер не принял DATA\r\n"; fwrite($file, $current); fclose($smtp_conn); exit;}

fputs($smtp_conn,$header."\r\</br>n".$text."\r\n.\r\n");
$code = substr(get_data($smtp_conn),0,3);
if($code != 250) {$current .= $recepmail." / ".$_POST["phone"]." / ".$_POST["name"]." / ".$_POST["email"]." ошибка отправки письма\r\n"; fwrite($file, $current); fclose($smtp_conn); exit;}

fputs($smtp_conn,"QUIT\r\n");
$current .= $recepmail." / ".$_POST["phone"]." / ".$_POST["name"]." / ".$_POST["email"]." - заявка успешно обработана\r\n";
fwrite($file, $current); fclose($smtp_conn);

echo "<br>".$message;
?>

Поделиться

3

Re: Срочно нужна помощь.

Наверное записать в отдельный пхп файл и путь к нему прописать в action формы?

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

4

Re: Срочно нужна помощь.

sergeyterr пишет:

Наверное записать в отдельный пхп файл и путь к нему прописать в action формы?

Не вариант, монстра не пропускает, из-за настроек в htaccess error 500

Поделиться

5 (2016-01-17 06:12:55 отредактировано sergeyterr)

Re: Срочно нужна помощь.

1 Создал в корне файл test.php
2 записал в него

<?php
    phpinfo();
?>

3 вызвал по адресу

my.domain/text.php

4 Ошибок нет - показывает инфо по пхп

Дальше:
1 Скопировал файл в папку public
2 вызвал в адресной строке по адресу

my.domain/public/text.php

3 опять все работает

Делаю больше:
1 иду в шаблон страницы
2 вставляю код

<form method="post" action="http://my.domain/public/test.php">
<input type="text" name="ffff" />
<input type="submit" name="ffbb" value="ffdgf">
</form>

3 захожу на страницу и вижу форму
4 отправляю ее и о чудо - опять вижу таблицу свойств пхп

не понимаю почему у вас выдает ошибку?

Если у вас не пускает путь из action формы, попробуйте обратиться к скрипту аяксом.
З.Ы. Если вы файл кладете в какую то другую папку, то возможно туда нужно положить htaccess с разрешением читать в этой папке

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

6

Re: Срочно нужна помощь.

Решение всех вопросов с формами на сайте: http://dedushka.org/kod/5213.html

Лучше сгореть, чем истлеть...

Сайт kromverk

Поделиться