Не отправляется почта

Форум для тех кто начинает осваивать язык php.
diargon345
Сообщения: 20

Не отправляется почта

Сообщение diargon345 » Сб сен 27, 2014 9:44 am

Всё было хорошо. Потом подключил bb редактор (wysibb) , и всё перестало отправляться. В чём может быть проблема?

Код: Выделить всё

<!doctype html> 
<html>
<head>
<meta charset="utf-8" />
<script src="jquery-2.1.0.min.js"></script>
<script src="jquery.wysibb.min.js"></script>
<link rel="stylesheet" href="wbbtheme.css" />
<script type="text/javascript">//скрипт парсинг\\
WBBPRESET = {
    bodyClass: "content content-phpbb3",
    buttons: 'bold,italic,underline,|,quote,code,bullist,numlist,|,img,link,smilebox,fontsize,fontcolor',
    traceTextarea: true,
    allButtons: {
        quote: {
            transform: {
                '<blockquote class="uncited"><div>{SELTEXT}</div></blockquote>':'[quote]{SELTEXT}[/quote]',
                '<blockquote><div><cite>{AUTHOR} писал(а):</cite>{SELTEXT}</div></blockquote>':'[quote="{AUTHOR}"]{SELTEXT}[/quote]'
            }
        },
        code: {
            transform: {
                '<dl class="codebox"><dt>Код: <a href="#">Выделить всё</a></dt><dd><code>{SELTEXT}</code></dd></dl>':'[code]{SELTEXT}[/code]'
            }
        },
        bullist: {
            transform: {
                '<ul>{SELTEXT}</ul>':'[list]{SELTEXT}[/list]',
                '<li>{SELTEXT}</li>':'[*]{SELTEXT[^\[\]\*]}'
            }
        },
        numlist: {
            transform: {
                '<ol>{SELTEXT}</ol>':'[list=1]{SELTEXT}[/list]',
                '<li>{SELTEXT}</li>':'[*]{SELTEXT[^\[\]\*]}'
            }
        },
        attach: {
            title: CURLANG.add_attach,
            buttonHTML: '<span class="fonticon ve-tlb-attach1">\uE017</span>',
            hotkey: 'ctrl+shift+5',
             modal: {
                title: CURLANG.add_attach,
                width: "600px",
                tabs: [
                    {
                        title: CURLANG.add_attach,
                        html: '<div id="imguploader"> <form id="fupform" class="upload" action="{img_uploadurl}" method="post" enctype="multipart/form-data" target="fupload"><input type="hidden" name="iframe" value="1"/><input type="hidden" name="idarea" value="message" /><div class="fileupload"><input id="fileupl" class="file" type="file" name="img" /><button id="nicebtn" class="wbb-button">'+CURLANG.modal_img_btn+'</button> </div> </form> </div><iframe id="fupload" name="fupload" src="aboutblank" frameborder="0" style="width:0px;height:0px;display:none"></iframe></div>'
                    }
                ],
                onLoad: fileModal
            },
             transform: {
                '<div class="inline-attachment" numimg="{NUM[0-9]}" contenteditable="false"><dl class="file"><dt class="attach-image"><img src="./download/file.php?id={ID[0-9]}"></dt><dd>{ALT} Просмотров: 0</dd></dl></div>':'[attachment={NUM[0-9]}]{ID[0-9]}: {ALT}[/attachment]',
                '<div class="inline-attachment" num="{NUM[0-9]}" contenteditable="false"><dl class="file"><dt><img src="./styles/prosilver/imageset/icon_topic_attach.gif" width="7" height="10" alt="" title=""><a class="postlink" href="./download/file.php?id={ID[0-9]}">{ALTFILE}</a></dt><dd>Скачиваний: 0</dd></dl></div>':'[attachment={NUM[0-9]}]{ID[0-9]}; {ALTFILE}[/attachment]'
                
            }
        }
    },
    smilefind: "#smiley-box"
}

//hide smilelist
$(document).ready(function() {
    $("#format-buttons").hide();
    $("#smiley-box").hide();
    $("#message-box").css("width","100%");
});

(function($) {
    //for attachments process
    $.wysibb.prototype.traceTextareaEvent = function(e) {
        var data = this.$txtArea.val();
        if (this.options.bbmode===false && data!="" && $(e.target).closest("div.wysibb").size()==0 && !this.$txtArea.attr("wbbsync")) {
            if (data.indexOf("[attachment=")!=-1) {
                var num = data.replace(/\[attachment=(\d+?)\].*/,"$1");
                var idfile = $("input[name='attachment_data["+num+"][attach_id]']").val();
                var ext = $("input[name='attachment_data["+num+"][real_filename]']").val().replace(/.*?\.(\w+)$/,"$1");
                if (ext.match(/(jpg|gif|png|bmp)/)) {
                    data = data.replace(/(\[attachment=\d+\])(.*?)(\[\/attachment\])/,"$1"+idfile+":$2$3");
                }else{
                    data = data.replace(/(\[attachment=\d+\])(.*?)(\[\/attachment\])/,"$1"+";"+idfile+" $2$3");
                }
            }
            this.insertAtCursor(this.getHTML(data,true));
            this.$txtArea.val("");
        }
    }
    
    $.wysibb.prototype.txtAreaInitContent = function() { 
        var tdata = this.txtArea.value;
        tdata = tdata.replace(/(\[attachment=(\d+?)\])([^:;]*?)(\[\/attachment\])/g,function(m,left,num,cont,right) {
            var idfile = $("input[name='attachment_data["+num+"][attach_id]']").val();
            var ext = $("input[name='attachment_data["+num+"][real_filename]']").val();
            if (ext) {
                ext = ext.replace(/.*?\.(\w+)$/,"$1");
                if (ext.match(/(jpg|gif|png|bmp)/)) {
                    return (left+idfile+":"+cont+right);
                }else{
                    return (left+cont+";"+idfile+right);
                }
            }else{
                return m;
            }
        });
        this.$body.html(this.getHTML(tdata,true));
    }
    
    $.fn.closeModal = function() {
        this.data("wbb").closeModal();
        return this.data("wbb");
    }
    $.fn.insertAttach = function(id,alt,isimg) {
        var num=0;
        while (num<30) {
            if ($("input[name='attachment_data["+num+"][attach_id]']").size()==0) {
                break;
            }
            num++;
        }
        
        this.data("wbb").$txtArea.after('<input type="hidden" name="attachment_data['+num+'][attach_id]" value="'+id+'" /><input type="hidden" name="attachment_data['+num+'][is_orphan]" value="1" /><input type="hidden" name="attachment_data['+num+'][real_filename]" value="'+id+":"+alt+'" /><input type="hidden" name="attachment_data['+num+'][attach_comment]" value="" />');
        var data = (isimg===true) ? this.data("wbb").getCodeByCommand("attach",{"id":id,"num":num,"alt":alt}):this.data("wbb").getCodeByCommand("attach",{"id":id,"num":num,"altfile":alt});

        this.data("wbb").insertAtCursor(data);
        return this.data("wbb");
    }
})(jQuery);

function fileModal() {
    $.log("fileModal");
    if (this.options.imgupload===true) {
        this.$modal.find("#fupform").append('<input type="hidden" name="upload_type" value="1" />');
        this.$modal.find("#imguploader").dragfileupload({
            url: this.strf(this.options.img_uploadurl,this.options),
            themePrefix: this.options.themePrefix,
            themeName: this.options.themeName,
            extraParams: {
                upload_type:this.options.upload_type
            },
            success: $.proxy(function(data) {
                $.log("Success");
                if (data && data.status==1) {
                    var num=0;
                    while (num<30) {
                        if ($("input[name='attachment_data["+num+"][attach_id]']").size()==0) {
                            break;
                        }
                        num++;
                    }
                    
                    this.$txtArea.after('<input type="hidden" name="attachment_data['+num+'][attach_id]" value="'+data.id+'" /><input type="hidden" name="attachment_data['+num+'][is_orphan]" value="1" /><input type="hidden" name="attachment_data['+num+'][real_filename]" value="'+data.id+":"+data.alt+'" /><input type="hidden" name="attachment_data['+num+'][attach_comment]" value="" />');
                    var datastr = (data.isimg===true) ? this.getCodeByCommand("attach",{"id":data.id,"num":num,"alt":data.alt}):this.getCodeByCommand("attach",{"id":data.id,"num":num,"altfile":data.alt});
                    this.insertAtCursor(datastr);
                }
                this.closeModal();
                this.updateUI();
            },this),
            validation: ".*$"
        });
        
        if ($.browser.msie) {
            //ie not posting form by security reason, show default file upload
            $.log("IE not posting form by security reason, show default file upload");
            this.$modal.find("#nicebtn").hide();
            this.$modal.find("#fileupl").css("opacity",1);
        }
        
        this.$modal.find("#fileupl").bind("change",function() {
            $("#fupform").submit();
        });
        this.$modal.find("#fupform").bind("submit",$.proxy(function(e) {
            $(e.target).parents("#imguploader").hide().after('<div class="loader"><img src="'+this.options.themePrefix+'/'+this.options.themeName+'/img/loader.gif" /><br/><span>'+CURLANG.loading+'</span></div>').parent().css("text-align","center");
        },this))
        
    }else{
        this.$modal.find(".hastabs").removeClass("hastabs");
        this.$modal.find("#imguploader").parents(".tab-cont").remove();
        this.$modal.find(".wbbm-tablist").remove();
    }
}
</script>
<link rel="stylesheet" href="wbbtheme.css" type="text/css" />
<?php //скрипт отправки
if (isset($_POST['start']))
{
 
        $name 
= $_POST['name'];
        $email = $_POST['email'];
        $mess = $_POST['mess'];
        $theme = $_POST['theme'];
    
        $mess 
= wordwrap($mess, 220); 
 
        $to 
= 'diargon345@mail.ru'; /*Укажите ваш адрес электоронной почты*/
        $headers = 'Content-type: text/html; charset = utf-8';
        $message = '<b><font size="5">Имя отправителя:</font></b><br />' . '<p><font size="4">' . $name .'</font></p>' . '<br><br /><b><font size="5">Электронный адрес:</b></font><br />' . '<p><font size="4">' . $email .'</font></p>' . '<br><br /><b><font size="5">Сообщение:</font></b><br /> ' . '<p><font size="4">' . $mess .'</font></p>';
        $send = mail($to, $theme, $message, $headers);
       
}
?>
</head>

<body>
<script>//тулбар BB кодов
$(document).ready(function() {
var wbbOpt = {
buttons: "bold,italic,underline,justifyleft,justifycenter,justifyright,|,img,link,|,bullist,numlist,|,fontcolor,fontsize,fontfamily,| "
}
$("#editor").wysibb(wbbOpt);
});
</script>

    <script>
$(document).ready(function() {
  $("#editor").wysibb()
})
</script>
<form action="index.php" method="post">
<div style="textalign="center";">
Тема:<br><br>
<input type="text" name="theme" class="mailmessage" placeholder="Без темы" style="height:25px;padding-left:5px;"><p><br<br>Имя:</p><br<p><input type="text" name="name" class="mailmessage" style="height:25px;padding-left:5px;"/>
</p><p>E-mail:<br>
<input name="email" type="text" class="mailmessage" style="height:25px;padding-left:5px;">
</p><p>Сообщение:<br>
</div>
      <textarea id="editor" name="mess" class="mailmessage"></textarea>
<br>
<input type="submit" name="knopka" value="Отправить сообщение" class="knopsubmit" style="height:35px;"/>
 </p>
 </form>
</body>
</html>

Я подключал дополнительный скрипт для проверки. Такое ощущение, что после добавления id в textarea - переменная mess перестала существовать.
Реклама
Аватара пользователя
Slash
Администратор
Сообщения: 2029
Поблагодарили: 62 раза

Re: Не отправляется почта

Сообщение Slash » Сб сен 27, 2014 10:37 am

Код кнопки отправки формы:

Код: Выделить всё

<input type="submit" name="knopka" value="Отправить сообщение" class="knopsubmit" style="height:35px;"/> 

А в скрипте нет ни чего, что бы называлось knopka. По этому надо либо код кнопки заменить на:

Код: Выделить всё

<input type="submit" name="start" value="Отправить сообщение" class="knopsubmit" style="height:35px;"/> 

Либо в скрипте заменить:

Код: Выделить всё

if (isset($_POST['start'])) 

на:

Код: Выделить всё

if (isset($_POST['knopka'])) 
diargon345
Сообщения: 20

Re: Не отправляется почта

Сообщение diargon345 » Сб сен 27, 2014 11:51 pm

Спасибо всё отправилось. Но у меня отправляется всё с bb кодами. Что нужно добавить чтоб всё отправлялось нормально?

Добавлено спустя 8 минут 40 секунд:
У меня же парсинг подключён. Да не чей-то там, а парсинг которые они сами поставляли с редактором
diargon345
Сообщения: 20

Re: Не отправляется почта

Сообщение diargon345 » Вс сен 28, 2014 8:42 am

Пробывал подключать различные парсеры. Всё равно никак.
Аватара пользователя
Slash
Администратор
Сообщения: 2029
Поблагодарили: 62 раза

Re: Не отправляется почта

Сообщение Slash » Вс сен 28, 2014 9:18 am

Парсер надо вставлять перед отправкой письма, то есть перед этой строчкой:

Код: Выделить всё

$send = mail($to, $theme, $message, $headers); 

Например я использую этот PHP парсер BBcode, и делал бы так, перед: <!doctype html> вставляю код от сюда: PHP парсер BBcode, естественно заключив его в <?php и ?>. Или сделал отдельный файл и заинклудил (на мой взгляд так лучше). Дальше это:

Код: Выделить всё

        $mess = $_POST['mess']; 

заменяю на:

Код: Выделить всё

        $mess = bbcode($_POST['mess']); 

Теперь на почту должен придти отформатированный текст.

Такой вариант парсит BBcode:

Код: Выделить всё

<?php 
function bbcode
($subject)
{
    $subject = preg_replace('/\[(\/?)(b|i|u|s|h1|ul|li|p)\]/', '<$1$2>', $subject);
    $subject = preg_replace('/\[img\](.*?)\[\/img\]/', '<img src="$1" style="max-width: 100%;" />', $subject);
    $subject = preg_replace('/\[video\](.*?)\[\/video\]/', '<iframe src="$1" width="560" height="315" frameborder="0" allowfullscreen></iframe>', $subject);
    $subject = preg_replace('/\[url\](.*?)\[\/url\]/', '<a class="a" href="$1" onclick="window.open(this.href); return false;">$1</a>', $subject);
    $subject = preg_replace('/\[url=(.*?)\](.*?)\[\/url\]/', '<a class="a" href="$1" onclick="window.open(this.href); return false;">$2</a>', $subject);
    $subject = preg_replace('/\[color=(.*?)\](.*?)\[\/color\]/', '<span style="color:$1;">$2</span>', $subject);

    return nl2br($subject);
}
?>

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<script src="jquery-2.1.0.min.js"></script>
<script src="jquery.wysibb.min.js"></script>
<link rel="stylesheet" href="wbbtheme.css" />
<link rel="stylesheet" href="wbbtheme.css" type="text/css" />
<?php //скрипт отправки
if (isset($_POST['knopka']))
{
 
        $name 
= $_POST['name'];
        $email = $_POST['email'];
        $mess = bbcode($_POST['mess']);
        $theme = $_POST['theme'];
    
        $mess 
= wordwrap($mess, 220); 
 
        $to 
= 'diargon345@mail.ru'; /*Укажите ваш адрес электоронной почты*/
        $headers = 'Content-type: text/html; charset = utf-8';
        $message = '<b><font size="5">Имя отправителя:</font></b><br />' . '<p><font size="4">' . $name .'</font></p>' . '<br><br /><b><font size="5">Электронный адрес:</b></font><br />' . '<p><font size="4">' . $email .'</font></p>' . '<br><br /><b><font size="5">Сообщение:</font></b><br /> ' . '<p><font size="4">' . $mess .'</font></p>';
        $send = mail($to, $theme, $message, $headers);
       
}
?>
</head>

<body>
<script>//тулбар BB кодов
$(document).ready(function() {
var wbbOpt = {
buttons: "bold,italic,underline,justifyleft,justifycenter,justifyright,|,img,link,|,bullist,numlist,|,fontcolor,fontsize,fontfamily,| "
}
$("#editor").wysibb(wbbOpt);
});
</script>

    <script>
$(document).ready(function() {
  $("#editor").wysibb()
})
</script>
<form action="1.php" method="post"> 
<div style="textalign="center";">
Тема:<br><br>
<input type="text" name="theme" class="mailmessage" placeholder="Без темы" style="height:25px;padding-left:5px;"><p><br<br>Имя:</p><br<p><input type="text" name="name" class="mailmessage" style="height:25px;padding-left:5px;"/>
</p><p>E-mail:<br>
<input name="email" type="text" class="mailmessage" style="height:25px;padding-left:5px;">
</p><p>Сообщение:<br>
</div>
      <textarea id="editor" name="mess" class="mailmessage"></textarea>
<br>
<input type="submit" name="knopka" value="Отправить сообщение" class="knopsubmit" style="height:35px;"/>
 </p>
 </form>
</body>
</html>
diargon345
Сообщения: 20

Re: Не отправляется почта

Сообщение diargon345 » Вс сен 28, 2014 10:29 am

Я пробовал инклудом. Только другим парсером. Ща попробую тем который ты мне скинул.

Добавлено спустя 6 минут 55 секунд:
После того как я жму кнопку отправить - появляется сообщение, что ошибка в той строчке где я заменил строчку. (просто использовал тот парсер, который был в отдельной теме; а насчёт ошибки - ошибка происходи в файле отправки (send.php (смотри ниже) )

Добавлено спустя 3 минуты 52 секунды:
Вообще я ща пытаюсь сделать простую форму для примера. Скидываю код:
Html

Код: Выделить всё

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<script src="jquery-2.1.0.min.js"></script>
<script src="jquery.wysibb.min.js"></script>
<script src="phpbb3.js"></script>
<link rel="stylesheet" href="wbbtheme.css" />
<link rel="stylesheet" href="wbbtheme.css" type="text/css" />
<?php include_once("send.php") ?>
<?php include_once
("paser.php") ?>
</head>

<body>
<script>
$(document).ready(function() { 
var wbbOpt = {
buttons: "bold,italic,underline,justifyleft,justifycenter,justifyright,|,img,link,|,bullist,numlist,|,fontcolor,fontsize,fontfamily,| "
}
$("#editor").wysibb(wbbOpt);
});
</script>
<script>
var htmldata = $("#editor").htmlcode();
$("#editor").val(htmldata);
</script>

    <script>
$(document).ready(function() {
  $("#editor").wysibb()
})
</script>
<form action="index.php" method="post">
<div style="textalign="center";">
Тема:<br><br>
<input type="text" name="theme" class="mailmessage" placeholder="Без темы" style="height:25px;padding-left:5px;"><p><br<br>Имя:</p><br<p><input type="text" name="name" class="mailmessage" style="height:25px;padding-left:5px;"/>
</p><p>E-mail:<br>
<input name="email" type="text" class="mailmessage" style="height:25px;padding-left:5px;">
</p><p>Сообщение:<br>
</div>
      <textarea id="editor" name="mess" class="mailmessage"></textarea>
<br>
<input type="submit" name="knopka" value="Отправить сообщение" class="knopsubmit" style="height:35px;"/>
 </p>
 </form>
</body>
</html>

Парсер

Код: Выделить всё

<?php
function bbcode
($subject)
{
    $subject = preg_replace('/\[(\/?)(b|i|u|s|h1|ul|li|p)\]/', '<$1$2>', $subject);
    $subject = preg_replace('/\[img\](.*?)\[\/img\]/', '<img src="$1" style="max-width: 100%;" />', $subject);
    $subject = preg_replace('/\[video\](.*?)\[\/video\]/', '<iframe src="$1" width="560" height="315" frameborder="0" allowfullscreen></iframe>', $subject);
    $subject = preg_replace('/\[url\](.*?)\[\/url\]/', '<a class="a" href="$1" onclick="window.open(this.href); return false;">$1</a>', $subject);
    $subject = preg_replace('/\[url=(.*?)\](.*?)\[\/url\]/', '<a class="a" href="$1" onclick="window.open(this.href); return false;">$2</a>', $subject);
    $subject = preg_replace('/\[color=(.*?)\](.*?)\[\/color\]/', '<span style="color:$1;">$2</span>', $subject);

    return nl2br($subject);
}
?>

Отправка

Код: Выделить всё

<?php
if 
(isset($_POST['knopka']))
{
        $name = $_POST['name'];
        $email = $_POST['email'];
        $mess = bbcode($_POST['mess']);
        $theme = $_POST['theme'];
    
        $mess 
= wordwrap($mess, 220); 
 
        $to 
= 'diargon345@mail.ru'; /*Укажите ваш адрес электоронной почты*/
        $headers = 'Content-type: text/html; charset = utf-8';
        $message = '<b><font size="5">Имя отправителя:</font></b><br />' . '<p><font size="4">' . $name .'</font></p>' . '<br><br /><b><font size="5">Электронный адрес:</b></font><br />' . '<p><font size="4">' . $email .'</font></p>' . '<br><br /><b><font size="5">Сообщение:</font></b><br /> ' . '<p><font size="4">' . $mess .'</font></p>';
        $send = mail($to, $theme, $message, $headers);
       
}
?>


Добавлено спустя 3 минуты 15 секунд:
diargon345 писал(а):Такой вариант парсит BBcode:

Я всё заменил - на хостинге вылетает ошибка 404
Аватара пользователя
Slash
Администратор
Сообщения: 2029
Поблагодарили: 62 раза

Re: Не отправляется почта

Сообщение Slash » Вс сен 28, 2014 10:46 am

Пожалуйста, давайте больше информации.
diargon345 писал(а):появляется сообщение, что ошибка в той строчке где я заменил строчку

Что конкретно заменили и само сообщение ошибки.
diargon345 писал(а):Скидываю код:
Html

Вы пытаетесь заинклудить php файлы в html документе:

Код: Выделить всё

<?php include_once("send.php") ?> 
<?php include_once("paser.php") ?>

это не правильно. Надо инклудить html докуменк в скрипте, а не наоборот.
diargon345
Сообщения: 20

Re: Не отправляется почта

Сообщение diargon345 » Вс сен 28, 2014 10:54 am

Алексей писал(а):это не правильно. Надо инклудить html докуменк в скрипте, а не наоборот.

У главной страницы (где форма) расширение php. Ну, если я не ошибаюсь это не html документ, а phphtml (ну типа обычный html, только с функционалом php) документ. Или всё равно так не пойдёт?

Добавлено спустя 1 минуту 9 секунд:
Алексей писал(а):Что конкретно заменили и само сообщение ошибки.

заменил на:

Код: Выделить всё

$mess = bbcode($_POST['mess']); 

Здесь и появляется ошибка.
Аватара пользователя
Slash
Администратор
Сообщения: 2029
Поблагодарили: 62 раза

Re: Не отправляется почта

Сообщение Slash » Вс сен 28, 2014 11:00 am

diargon345 писал(а):Здесь и появляется ошибка.

Так, а сообщение ошибки?
У меня все работает без ошибок, вот так:
Создаем файлы:
index.php:

Код: Выделить всё

<?php
include('bbcode.php');

if (isset($_POST['knopka']))
{
        $name = $_POST['name']; 
        $email = $_POST['email'];
        $mess = bbcode($_POST['mess']);
        $theme = $_POST['theme'];
    
        $mess 
= wordwrap($mess, 220); 
 
        $to 
= 'diargon345@mail.ru'; /*Укажите ваш адрес электоронной почты*/
        $headers = 'Content-type: text/html; charset = utf-8';
        $message = '<b><font size="5">Имя отправителя:</font></b><br />' . '<p><font size="4">' . $name .'</font></p>' . '<br><br /><b><font size="5">Электронный адрес:</b></font><br />' . '<p><font size="4">' . $email .'</font></p>' . '<br><br /><b><font size="5">Сообщение:</font></b><br /> ' . '<p><font size="4">' . $mess .'</font></p>';
        $send = mail($to, $theme, $message, $headers);
       
}
include_once(
'form.html');
?>

bbcode.php:

Код: Выделить всё

<?php
function bbcode
($subject)
{
    $subject = preg_replace('/\[(\/?)(b|i|u|s|h1|ul|li|p)\]/', '<$1$2>', $subject);
    $subject = preg_replace('/\[img\](.*?)\[\/img\]/', '<img src="$1" style="max-width: 100%;" />', $subject);
    $subject = preg_replace('/\[video\](.*?)\[\/video\]/', '<iframe src="$1" width="560" height="315" frameborder="0" allowfullscreen></iframe>', $subject);
    $subject = preg_replace('/\[url\](.*?)\[\/url\]/', '<a class="a" href="$1" onclick="window.open(this.href); return false;">$1</a>', $subject);
    $subject = preg_replace('/\[url=(.*?)\](.*?)\[\/url\]/', '<a class="a" href="$1" onclick="window.open(this.href); return false;">$2</a>', $subject);
    $subject = preg_replace('/\[color=(.*?)\](.*?)\[\/color\]/', '<span style="color:$1;">$2</span>', $subject);

    return nl2br($subject);
}
?>

form.html:

Код: Выделить всё

<!doctype html>
<
html>
<
head>
<
meta charset="utf-8" />
<
script src="jquery-2.1.0.min.js"></script>
<script src="jquery.wysibb.min.js"></script>
<script src="phpbb3.js"></script>
<link rel="stylesheet" href="wbbtheme.css" />
<link rel="stylesheet" href="wbbtheme.css" type="text/css" />
</head>

<body>
<script>
$(document).ready(function() {
var wbbOpt = {
buttons: "bold,italic,underline,justifyleft,justifycenter,justifyright,|,img,link,|,bullist,numlist,|,fontcolor,fontsize,fontfamily,| "
}
$("#editor").wysibb(wbbOpt);
});
</script>
<script>
var htmldata = $("#editor").htmlcode();
$("#editor").val(htmldata);
</script>

    <script>
$(document).ready(function() {
  $("#editor").wysibb()
})
</script>
<form action="index.php" method="post">
<div style="textalign: center;">
Тема:<br><br>
<input type="text" name="theme" class="mailmessage" placeholder="Без темы" style="height:25px;padding-left:5px;"><p><br><br>Имя:</p><br><p><input type="text" name="name" class="mailmessage" style="height:25px;padding-left:5px;"/>
</p><p>E-mail:<br>
<input name="email" type="text" class="mailmessage" style="height:25px;padding-left:5px;">
</p><p>Сообщение:<br>
</div>
      <textarea id="editor" name="mess" class="mailmessage"></textarea>
<br>
<input type="submit" name="knopka" value="Отправить сообщение" class="knopsubmit" style="height:35px;"/>
 </p>
 </form>
</body>
</html>

Все файлы должны находится в одной директории, иначе придется переписывать адреса инклуда.
У меня текст приходит отформатированный.
diargon345
Сообщения: 20

Re: Не отправляется почта

Сообщение diargon345 » Вс сен 28, 2014 11:12 am

И правда - работает. Огромнейшее спасибо. Правда не понял в чём были ошибки. Вы показали то, как нужно. Буду изучать. 2 дня мучался с этим вопросом. На 4 форумах задал этот вопрос (включая разработчика редактора bb wyisbb). Ещё раз спасибо.
Аватара пользователя
Slash
Администратор
Сообщения: 2029
Поблагодарили: 62 раза

Re: Не отправляется почта

Сообщение Slash » Пн сен 29, 2014 6:58 pm

diargon345, если в Вашу форму вставить html теги, то письмо будет отображать теги, как часть страницы, а не строки. Что бы этого избежать можно использовать функцию htmlspecialchars(). Например:

Код: Выделить всё

    $mess = bbcode(htmlspecialchars($_POST['mess']));

Теперь все html теги будут отображаться в виде текста.

Вернуться в «PHP»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость