Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Как заставить <TEXTAREA> обрабатывать html код.

Здравствуйте уважаемые форумчане!

Я пишу полностью свою биллинг панель и столкнулся с данной проблемой:
  • Решил сделать свой ББ редактор.
  • Сам редактор написал легко и не каких проблем не возникло.

А проблема возникла в следующем:

  • Необходимо сделать так чтобы текст введённый в TEXTAREA отображался как на обычной странице в уже обработанном виде.
  • Так как реализовано на данном сайте
  • использование чужих WYSIWYG не предлагать, так как это полностью именная разработка и не хочу чужие продукты размещать на данном сайте.
Как я понимаю это реализуется на js и/или ajax.

За ранее всем признателен!
Ответ:
Кто подскажет начинающему программеру. Как данные этого скрипта отправить методом POST
Вопрос: 1.<textarea> и mysql_real_escape_string

PHP:

  1.  
  2. echo $_POST["textvalu"];
  3. $ttext=$_POST["textvalu"];
  4. $utext="777".($ttext);
  5. ("INSERT INTO `111`(`text`) VALUES ('$utext')");


Данный кусок кода записывает в БД только "777", но выводит в первой строке именно тот текст, что был введен в форме отправки. В общем mysql_real_escape_string обрезает полностью то, что пришло из формы в <textarea></textarea>.
Какие идеи?

(Отредактировано автором: 26 Ноября, 2016 - 20:09:38)

Ответ:
Denkill пишет:
Скорее всего $_POST['textvalu'] пуст. Иначе не может быть.

первая строчка кода выводит $_POST["textvalu"] на страницу нормально.
(Добавление)
Строитель пишет:
scurra пишет:
Какие идеи?

1. Распечатать строку $utext = "777". mysql_real_escape_string($ttext);
PHP:

  1. echo '<pre>'; ($utext); echo '</pre>';


2. Проверить тип данных поля, в которое записывается строка из переменной $utext, и его размер.


string(3) "777"
в БД $utext пишется в VARCHAR(1024)
вот форма

CODE (html):

  1. <form action="contacts.php" method="post" enctype="multipart/form-data">
  2. <textarea name="textvalu" cols="78" rows="20" maxlenght="1024"></textarea><br><br>
  3. <center><input type="file" name="filename"><br><br>
  4. <input type="submit" value="Загрузить"><br></center>
  5. </form>


проблема в том, что в первой строке кода $_POST["textvalu"] содержит введенные в форме данные, а после mysql_real_escape_string(), они исчезают сказочным образом.

Проверил - mysql_real_escape_string() с любой строковой переменной на выходе дает "ничего".

PHP Version 5.6.24-0+deb8u1
в этой версии может какие-то траблы с этой функцией?
(Добавление)
РЕШЕНО: функция mysql_real_escape_string нужно использовать ПОСЛЕ установления соединения с БД, а не ДО.

(Отредактировано автором: 27 Ноября, 2016 - 14:10:54)

Вопрос: отправка формы по нажатию enter в <textarea>

Как в <textarea> сделать отправку по нажатию клавиши enter, а не перевод на новую строку?
Ответ: могу, но ты разделом ошибся. тут мы даем наводку и новичок который хочет учится - самостоятельно доходит до результата. готовый код меняется на деньги в разделе "фриланс". если ты ленивый бомж - надо было мирно ждать готового решения в разделе "за меня".

какое твоё решение? раздел двигаем или головой будешь думать?
Вопрос: Вырезать из текста передаваемого в <textarea> все

пробую вырезать через 

Код PHP
1
preg_replace('((http:\/\/)?(www\.)?([\w\d-]*?\.)+(\w{2,4}))i',':18:',$mess)
немного не так работае как бы хотелось .
к примеру если такой вариант ссылки : <a href='http://vk.com/id111111'>ntcn</a> или [a href='http://vk.com/id11111']ntcn[/a] при обработке получается так <a href=':18:/id11111'>ntcn</a> или [a href=':18:/id11111 ']ntcn[/a] а хотелось бы получилось только значение ":18:" (:18: - это смаил)

второй вариант если просто ссылка без тега  то после обработки получается так 

:18:/id71594164 как обрезать полностью все и оставлять и заменbть на :18: а так же проверять ссылки с проблеом и тже вырезать пример 

 . com/id71594164 и vk . com

что еще надо дописать в выраение
Ответ:
Ну так у вас регулярка ищет то, что вы ей "скажите" искать. У вас же нет ничего после доменной зоны. Добавьте в конец что-то типа (\/?)(.*+) и будет вам счастье.

И, кстати, зачем вам все вхождения нужны в карманах? Можно поставить ?: в начало каждого вхождения, чтобы вхождения не записывались.

Примерно так: 

А что касается html-ссылок (а не только url), то так и нужно дописать все варианты, компьютер за вас их не предугадает. Допустим так: 
Вопрос: Редактирование через <select>

здравствуйте.

помогите пожалуйста с проблемой:

допустим, у нас есть список городов. при добавлении статьи пользователь выбирал город из select.

допустим, делал это так:

PHP
1
2
3
4
5
6
7
8
<select name="huy" type="text">
 <?php $result= mysql_query("blabla");
  while($row=mysql_fetch_array($result)) { 
            ?>
<?php echo "<option value='".$row['id']."'>".$row['city']."</option>"; ?>
 
            <? } ?> 
</select>
ВОПРОС: как сделать, чтобы при редактировании статьи также можно было редактировать города через <select>, но по умолчанию стоял бы выбранный ранее город?
Ответ: wealqa, Если все правильно понял, то примерно так (Пример)
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
 
$db = mysqli_connect('localhost', 'root', '', 'dbname');
/*
1. Нужные Вам столбцы.
2. Таблица новостей.
3. Таблица городов.
4. Прикрутить к общему запросу, Например:
`city_id` - это выбраный вами при добавлении новости id города он в таблице `news`
а в таблице `city` есть `id-шники` городов они в столбце `id`
нужно достать 'Название города в таблице `city` где столбец `id` равен
столбцу `city_id` из таблицы `news`.
*/
$sql = "SELECT 1... FROM 2... LEFT JOIN 3... ON 4... WHERE `id`='...' LIMIT 1";
$result_news = mysqli_fetch_assoc(mysqli_query($db, $sql));
 
$option = '';
$sql = "SELECT `id`,`name` FROM `city`";
$query = mysqli_query($db, $sql);
while($result_city= mysqli_fetch_assoc($query)) {
    $option .= '<option value="' . $result_city['id'] . '" ' . ($result_city['id'] === $result_news['city_id'] ? 'selected' : '') . '>' . $result_city['name'] . '</option>';
}
 
echo '<form action="">
    <p>
        <label>Заголовок</label><br />
        <input type="text" name="title" value="' . $result_news['title'] . '" />
    </p>
    <p>
        <label>Описание новости:</label><br />
        <textarea name="description">' . $result_news['description'] . '</textarea>
    </p>
    <p>
        <option>
        ' . $option . '
        </option>
    </p>
    <p>
        <button name="btn_edit">Редактировать</button>
    </p>
</form>';

Не по теме:

Название ключа похоже на неприличное слово, если читать как произносят их по ру "$_SESSION['huy']"

Вопрос: Запись в бд из textarea

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
    include_once "../site/db.php"; // Подключаем базу данных
 
    $result = mysql_query("SELECT text FROM content WHERE content.name='un-main'") or die("ERROR: ".mysql_error());
    $row = mysql_fetch_array($result);
?>
 
 
<center>
    <form method="post">
            <textarea id="editor" name="txt" cols="100" rows="20"><? echo $row['text'] ?></textarea>
            <br />
            <input type="submit" name="submit" value="Обновить" />
    </form>
всем привет!
вот я получаю в textarea содержимое ячейки. после редактирую и нажимаю кнопку обновить. и надо что бы новые содержимое записалось опять в ту же ячейку бд. как это сделать, подскажите пожалуйста.

Добавлено через 2 часа 0 минут
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?
include ('E:/XAMPP/htdocs/theme/header.php');
include ('E:/XAMPP/htdocs/site/db.php');
$result = mysql_query("SELECT text FROM content WHERE content.name='un-main'") or die("ERROR: ".mysql_error());
$row = mysql_fetch_array($result);
$dann = $row['text'];
 
?>
 
<form action="" method="post">
<textarea class="ckeditor" name="text" cols="100" rows="20"><? echo $dann; ?></textarea>
<br />
<input type="submit" name="submit" value="Обновить" />
</form>
 
<?
 
if (isset($_POST['text'])) {
$new = $_POST['text'];
$query = ("UPDATE content SET text='.$new.' WHERE content.name='un-main'");
if ($result == 'true')
{
echo "Информация в базе обновлена успешно!";
}
else
{
echo "Информация в базе не обновлена!";
}
}
?>
вот таким образом написал, но выходит сообщение что информация не обновлена. что не так?
Ответ: dapkopoen, может нет подключения к БД
а вывод в
Сообщение от dapkopoen
><? echo $dann; ?></textarea>
происходит

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
include ('E:/XAMPP/htdocs/theme/header.php');
include ('E:/XAMPP/htdocs/site/db.php');
$result = mysql_query("SELECT text FROM content WHERE content.name='un-main'") or die("ERROR: ".mysql_error());
$row = mysql_fetch_array($result);
$dann = $row['text'];
 
if(isset($_POST['submit'])){
$new = $_POST['text'];
$query = mysql_query("UPDATE `content` SET `text`='".$new."' WHERE `name`='un-main'") or die(mysql_error());
 
if ($query) {
header('Location:index.php');
}else {echo "Что-то пошло не так";}
} 
?>
 
<form action="" method="post">
<textarea class="ckeditor" name="text" cols="100" rows="20"><? echo $dann; ?></textarea>
<br />
<input type="submit" name="submit" value="Обновить" />
</form>
Вопрос: Как избавиться от ненужных пробелов в textarea

Мой код:

<html>
<head></head>
<body>
<textarea
name="text" dir="ltr" cols="60">
<?php

echo "Hello world";
?>
</textarea>
</body>
</html>


Все хорошо, но зачем-то, в поле перед моим текстом появляются восемь пробелов, а после текста семь пробелов. Очень хочется, чтобы выводилось именно то, что я хочу, а не результат какого-то непонятного мне форматирования.
Есть ли возможность добиться этого?

Это сообщение отредактировал sergeiss - 29.05.2015 - 23:23
Ответ:
<textarea name="text">Hello, world!</textarea>
Вопрос: Как заставить скрипт работать с ssmtp?

подскажите, как заставить скрипт работать под ssmtp?
суть в том, на сколько я понял, он должен обращаться к 25 порту, и почтовому серверу.

Код PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<?php
 
define( 'MAIL_TO', 'myname@pochta.net' );
define( 'SITE', 'sitename.Net' );
// украинский язык:
$lang_ua = array(
    'successfully_send'     => 'Повідомлення успішно відправлено.',
    'error_username'        => 'Ім\'я повинно містити від 2 до 50 літер.',
    'error_useremail'       => 'Введіть коректну E-mail адресу.',
    'error_usercontent'     => 'Повідомлення повинно містити від 2 до 1000 літер.',
    'message_from_site'     => 'Повідомлення з сайту: ',
    'username'              => 'Відправник: ',
    'useremail'             => 'E-mail: ',
    'usercontent'           => 'Повідомлення: ',
    'error_send'            => 'Повідомлення не відправлено через технічні причини, спробуйте пізніше!',
    'error'                 => 'Помилка:',
    'name'                  => 'Ім\'я:',
    'message'               => 'Повідомлення:',
    'sendmessage'           => 'Відправити' );
 
// русский язык:
$lang_ru = array(
    'successfully_send'     => 'Сообщение успешно отправлено.',
    'error_username'        => 'Имя должно содержать от 2 до 50 букв.',
    'error_useremail'       => 'Введите корректный E-mail адрес.',
    'error_usercontent'     => 'Сообщения должно содержать от 2 до 1000 букв.',
    'message_from_site'     => 'Сообщение с сайта: ',
    'username'              => 'Отправитель: ',
    'useremail'             => 'E-mail: ',
    'usercontent'           => 'Сообщение: ',
    'error_send'            => 'Сообщение не отправлено через технические причины. Попробуйде позже!',
    'error'                 => 'Ошибка:',
    'name'                  => 'Имя:',
    'message'               => 'Сообщение:',
    'sendmessage'           => 'Отправить' );
 
$our_content .= '
<style type="text/css">
#contact_form{ width: 600px; font-family: "PT Sans", Verdana, Tahoma, Arial, sans-serif; overflow: hidden; position: relative }
#contact_form fieldset { margin: 0; padding: 0; border: 0 }
#contact_form .nick_ico,
#contact_form .email_ico{ display: block; width: 14px; height: 14px; position: absolute; z-index: 10 }
#contact_form .nick_ico{ left: 1.5%; top: 11px; background: url(mycode/icon_contact/ico_user.png) no-repeat center center }
#contact_form .email_ico{ left: 53.5%; top: 11px; background: url(mycode/icon_contact/ico_emai.png) no-repeat center center }
#contact_form input[type="text"]{ width: 41%; float: left; margin-bottom: 14px; padding-left: 5% }
#contact_form .nick{ margin-right: 5% }
#contact_form textarea{ width: 97%; clear: both; margin-bottom: 14px; height: 200px }
#contact_form input,
#contact_form select,
#contact_form textarea{ padding: 8px 1%; border-radius: 8px; display: block; border-top: 1px solid #b2b2b2; border-left: 1px solid #b2b2b2; border-right: 1px solid #d6d6d6; border-bottom: 1px solid #d6d6d6; background: #f3f3f3; color: #868686 }
#contact_form .submit{ float: right; margin-bottom: 14px; font-size: 13px; padding: 10px 25px 10px; display: inline-block }
#contact_form .submit:hover{ background: #DBDBDB }
#contact_result{ width: 570px; text-align: justify; font-size: 13px; line-height: 21px; font-family: Tahoma, Verdana, sans-serif; color: #737373 }
#contact_result .message{ border: 1px solid #d4bc4c; background-color : #cae85c; padding : 8px 11px; line-height: 30px }
#contact_result .error{ border: 1px solid #e89b88; background-color : #ffefe8; padding : 8px 11px; line-height: 20px }
</style>';
$lang = $lang_ua;
// или $lang = $lang_ua;
if ( isset( $_SESSION['send'] ) && $_SESSION['send'] == 'sendmess' ) {
    $our_content .= '
        <div id="contact_result">
            <div class="message">'.$lang['successfully_send'].'</div>
        </div>';
    unset( $_SESSION['send'], $_SESSION['username'], $_SESSION['useremail'], $_SESSION['usercontent'], $_SESSION['error'] );
    }
else
    {
    function mf_mess_valid_contact(  )
        {
        $arg_list = func_get_args(  );
        foreach ( $arg_list as $key ) {
            $value = trim( strval( @$_POST[$key] ) );
            if ( get_magic_quotes_gpc(  ) ) $value = stripslashes( $value );
            $_SESSION[$key] = htmlspecialchars( $value, ENT_QUOTES );
            }
        }
    if ( isset( $_POST['sendmessage'] ) )
        {
        mf_mess_valid_contact( 'useremail', 'username', 'usercontent' );
        $_SESSION['error'] = '';
        if ( ! preg_match( "/^[a-z0-9_\-\.]+@[a-z0-9\-\.]+[a-z]{1,6}$/ui", $_SESSION['useremail'] ) ) {
            $_SESSION['error'] .= '&bull; '.$lang['error_useremail'].'<br />';
            }
        if ( $_SESSION['username'] == '' || ! in_array( mb_strlen( $_SESSION['username'] ), range( '2', '50' ) ) ) {
            $_SESSION['error'] .= '&bull; '.$lang['error_username'].'<br />';
            }
        if ( $_SESSION['usercontent'] == '' || ! in_array( mb_strlen( $_SESSION['usercontent'] ), range( '2', '1000' ) ) ) {
            $_SESSION['error'] .= '&bull; '.$lang['error_usercontent'].'<br />';
            }
        if ( empty( $_SESSION['error'] ) )
            {
            $subject = $lang['message_from_site'].SITE;
            $subject = '=?UTF-8?B?'.base64_encode($subject).'?=';
            $headers = "From: {$_SESSION['useremail']}\r\nReply-To: {$_SESSION['useremail']}\r\nContent-type: text/plain; charset=UTF-8\r\n";
            if ( mail( MAIL_TO, $subject, $lang['username'].$_SESSION['username']."\r\n \r\n" . $lang['useremail'].$_SESSION['useremail']."\r\n \r\n" . $lang['usercontent'].$_SESSION['usercontent'], $headers ) ) {
                $_SESSION['send'] = 'sendmess';
                exit( header( 'Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] ) );
                }
            else {
                $_SESSION['error'] .= '&bull; '.$lang['error_send'].'<br />';
                }
            }
        exit( header( 'Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] ) );
        }
    else
        {
        $our_content .= '
        <div id="contact_result">
            '.( ( isset( $_SESSION['error'] ) ) ? '<div class="error"><b>'.$lang['error'].'</b><br />'.$_SESSION['error'].'</div><br />' : '' ).'
        </div>
        <div id="contact_form">
            <form method="post" action="" >
                <fieldset>
                    <span class="nick_ico"></span>
                    <span class="email_ico"></span>
                    <input maxlength="50" class="nick" name="username" type="text" placeholder="'.$lang['name'].'" value="'.( isset( $_SESSION['username'] ) ? $_SESSION['username'] : '' ).'" />
                    <input maxlength="50" class="email" name="useremail" type="text" placeholder="'.$lang['useremail'].'" value="'.( isset( $_SESSION['useremail'] ) ? $_SESSION['useremail'] : '' ).'" />
                    <textarea name="usercontent" maxlength="1000">'.( isset( $_SESSION['usercontent'] ) ? $_SESSION['usercontent'] : '' ).'</textarea>
                    <input class="submit" type="submit" value="'.$lang['sendmessage'].'" name="sendmessage" />
                </fieldset>
            </form>
        </div>';
        unset( $_SESSION['send'], $_SESSION['username'], $_SESSION['useremail'], $_SESSION['usercontent'], $_SESSION['error'] );
        }
    }
?>
либо обращаться к конфигурации smtp сервера, тоесть к чему-то типа этого:

$config['smtp_username'] = ' '; //Смените на имя своего почтового ящика.
$config['smtp_port'] = '25'; // Порт работы. Не меняйте, если не уверены.
$config['smtp_host'] = 'servername'; //сервер для отправки почты(для наших клиентов менять не требуется)
$config['smtp_password'] = 'SECRET'; //Измените пароль
$config['smtp_debug'] = false; //Если Вы хотите видеть сообщения ошибок, укажите true вместо false
$config['smtp_charset'] = 'Windows-1251'; //кодировка сообщений. (или UTF-8, итд)
$config['smtp_from'] = 'Your Server Name'; //Ваше имя - или имя Вашего сайта. Будет показывать при прочтении в поле "От кого"

подскажите пожалуйста, как заставить скрипт обращаться к файлу конфигурации, или это можно вписать в сам скрипт?
Ответ: подскажите пожалуйста :-(

Добавлено через 6 часов 57 минут
файл smtp-func.php

Код PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?php
$config['smtp_username'] = 'hostmaster@domain.ru';  //Смените на имя своего почтового ящика.
$config['smtp_port']     = '25'; // Порт работы. Не меняйте, если не уверены.
$config['smtp_host']     = 'mail.rucable.net';  //сервер для отправки почты(для наших клиентов менять не требуется)
$config['smtp_password'] = 'SECRET';  //Измените пароль
$config['smtp_debug']    = false;  //Если Вы хотите видеть сообщения ошибок, укажите true вместо false
$config['smtp_charset']  = 'Windows-1251';   //кодировка сообщений. (или UTF-8, итд)
$config['smtp_from']     = 'Your Name'; //Ваше имя - или имя Вашего сайта. Будет показывать при прочтении в поле "От кого"
 
function smtpmail($mail_to, $subject, $message, $headers='') {
         global $config;
        $SEND =   "Date: ".date("D, d M Y H:i:s") . " UT\r\n";
        $SEND .=   'Subject: =?'.$config['smtp_charset'].'?B?'.base64_encode($subject)."=?=\r\n";
        if ($headers) $SEND .= $headers."\r\n\r\n";
        else
        {
                $SEND .= "Reply-To: ".$config['smtp_username']."\r\n";
                $SEND .= "MIME-Version: 1.0\r\n";
                $SEND .= "Content-Type: text/plain; charset=\"".$config['smtp_charset']."\"\r\n";
                $SEND .= "Content-Transfer-Encoding: 8bit\r\n";
                $SEND .= "From: \"".$config['smtp_from']."\" <".$config['smtp_username'].">\r\n";
                $SEND .= "To: $mail_to <$mail_to>\r\n";
                $SEND .= "X-Priority: 3\r\n\r\n";
        }
        $SEND .=  $message."\r\n";
         if( !$socket = fsockopen($config['smtp_host'], $config['smtp_port'], $errno, $errstr, 30) ) {
            if ($config['smtp_debug']) echo $errno."&lt;br&gt;".$errstr;
            return false;
         }
 
            if (!server_parse($socket, "220", __LINE__)) return false;
 
            fputs($socket, "HELO " . $config['smtp_host'] . "\r\n");
            if (!server_parse($socket, "250", __LINE__)) {
               if ($config['smtp_debug']) echo '<p>Не могу отправить HELO!</p>';
               fclose($socket);
               return false;
            }
            fputs($socket, "AUTH LOGIN\r\n");
            if (!server_parse($socket, "334", __LINE__)) {
               if ($config['smtp_debug']) echo '<p>Не могу найти ответ на запрос авторизаци.</p>';
               fclose($socket);
               return false;
            }
            fputs($socket, base64_encode($config['smtp_username']) . "\r\n");
            if (!server_parse($socket, "334", __LINE__)) {
               if ($config['smtp_debug']) echo '<p>Логин авторизации не был принят сервером!</p>';
               fclose($socket);
               return false;
            }
            fputs($socket, base64_encode($config['smtp_password']) . "\r\n");
            if (!server_parse($socket, "235", __LINE__)) {
               if ($config['smtp_debug']) echo '<p>Пароль не был принят сервером как верный! Ошибка авторизации!</p>';
               fclose($socket);
               return false;
            }
            fputs($socket, "MAIL FROM: <".$config['smtp_username'].">\r\n");
            if (!server_parse($socket, "250", __LINE__)) {
               if ($config['smtp_debug']) echo '<p>Не могу отправить комманду MAIL FROM: </p>';
               fclose($socket);
               return false;
            }
            fputs($socket, "RCPT TO: <" . $mail_to . ">\r\n");
 
            if (!server_parse($socket, "250", __LINE__)) {
               if ($config['smtp_debug']) echo '<p>Не могу отправить комманду RCPT TO: </p>';
               fclose($socket);
               return false;
            }
            fputs($socket, "DATA\r\n");
 
            if (!server_parse($socket, "354", __LINE__)) {
               if ($config['smtp_debug']) echo '<p>Не могу отправить комманду DATA</p>';
               fclose($socket);
               return false;
            }
            fputs($socket, $SEND."\r\n.\r\n");
 
            if (!server_parse($socket, "250", __LINE__)) {
               if ($config['smtp_debug']) echo '<p>Не смог отправить тело письма. Письмо не было отправленно!</p>';
               fclose($socket);
               return false;
            }
            fputs($socket, "QUIT\r\n");
            fclose($socket);
            return TRUE;
}
function server_parse($socket, $response, $line = __LINE__) {
        global $config;
    while (substr($server_response, 3, 1) != ' ') {
        if (!($server_response = fgets($socket, 256))) {
                   if ($config['smtp_debug']) echo "<p>Проблемы с отправкой почты!</p>$response<br>$line<br>";
                   return false;
                }
    }
    if (!(substr($server_response, 0, 3) == $response)) {
           if ($config['smtp_debug']) echo "<p>Проблемы с отправкой почты!</p>$response<br>$line<br>";
           return false;
        }
    return true;
}
 
?>
Вопрос: Как отправить Стоимость заказа:<спан>2500</спан> на почту!?!?!?

Как отправить Стоимость заказа:<span>2500</span> на почту!?!?!?
если ставить radio то сумма в span будет меняться.. как сделать чтоб по нажатию на кнопку отправлялось значение в спан на почту? форма в низу на этом сайте

index.html
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<p>Закажите сертификат за 1 минуту:</p>
[row]
[span12]
<form id="mod_uc2_sertificat" action="/wp-content/themes/theme51771/sendmail.php" method="post" name="form"  onclick="price(this)">
<div id="ex1" class="sertificat">
<center>
<div class="container_sert">
 
<div class="egais_cont">
<table class="tabl1_cont">
<tr>
<td style="width: 305px;">Сертификат КЭП для ЕГАИС</td> 
<td><strong>2500Ц„</strong><input class="cbox_cont" type="checkbox" value="2500" name="egais_kep"/></td>
</tr>
</table>
</div>
 
<div class="jacarta_cont">
<table class="tabl1_cont">
<tr>
<td style="width: 305px;">Сертификат КЭП для ЕГАИС на JaCarta</td> 
<td><strong>4500Ц„</strong><input  class="cbox_cont" type="checkbox" value="4500" name="egais_jac"></td>
</tr>
</table>
<p class="vn_cont"><i><span>* Внимание!</span> В стоимость входит носитель (аппаратный крипто-ключ) JaCarta SE.</i>
 
</div>
<div class="total">Стоимость заказа: <span name="itogo" id="total_price">0</span> Ц„</div>
<script type="text/javascript">
<!--
function viewdiv(id){
var el=document.getElementById(id);
if(el.style.display=="block"){
el.style.display="none";
} else {
el.style.display="block";
}
}
//-->
</script>
<script type="text/javascript">
<!--
function viewdiv2(id){
var el=document.getElementById(id);
if(el.style.display=="inline-block"){
el.style.display="none";
} else {
el.style.display="inline-block";
}
}
//-->
</script>
 
 
<div class="service_cont">
<p>Контур.ЕГАИС сервис для подтверждения факта закупки алкоголя от СКБ Контур.</p>
<a href="javascript:void(0);" onclick="viewdiv('voz_sort');" class="sites_list sites_list_block h3">Возможности</a>
<div id="voz_sort" style="display:none;">
 
<div class="service_cont_voz">
<strong>Работать с Контур.ЕГАИС просто</strong>
Принимайте накладные на алкоголь и отвечайте на них, используя Контур.ЕГАИС.
</div>
 
<div class="service_cont_voz">
<strong>Данные можно заполнить автоматически</strong>
Получайте приходную часть деклараций на алкоголь уже заполненными.
</div>
 
<div class="service_cont_voz">
<strong>Контроль перемещения продукции</strong>
Используйте КонтурЕГАИС, чтобы фиксировать поставки покупателям, перемещение между торговыми точками и возврат продукции поставщикам.
</div>
 
<div>
<strong>Веб-сервис</strong>
Настройте программу один раз и работайте в любом месте и с любого компьютера.
</div>
 
<div>
<strong>Техническая поддержка</strong>
Обращайтесь в круглосуточную техподдержку для решения любых вопросов или технических проблем. 
</div>
 
<div>
<strong>Отчеты </strong>
Ежедневно составляйте и просматривайте подробные отчеты о продаже алкоголя. 
</div>
</div>
 
[addcode file="__egais_form.html"]
 
 
 
<script type="text/javascript" src="/wp-content/themes/theme51771/js/form_egais.js"></script>
 
<table width="350" border="0" cellspacing="0" cellpadding="0" id="tf1">
  <tr>
    <td width="90" align="left">ФИО<span class="zvezdochka">*</span> </td>
    <td width="260" align="left"><input type="text" value="" name="name" style="width:95%;"/></td>
  </tr>
  <tr>
    <td align="left">Телефон<span class="zvezdochka">*</span></td>
    <td align="left"><input type="text" value="" name="telefon" style="width:95%;"/></td>
  </tr>
  <tr>
    <td align="left">E-Mail<span class="zvezdochka">*</span></td>
    <td align="left"><input type="text" value="" name="email" style="width:95%;"/></td>
  </tr>
  <tr>
    <td align="left">ИНН</td>
    <td align="left"><input type="text" value="" name="inn" style="width:95%;"/></td>
  </tr>
  <tr>
    <td colspan="2" align="center"><input id="egais_button" type="submit" value="отправить заказ" /></td>
    </tr>
</table>
<textarea name="result" class="result" id="gg2" cols="1" rows="1"></textarea>
</form>
 
</div>
 
</div></center>
form.js
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
$(document).ready(function() {
 
$(document).on("change", "#mod_uc2_sertificat input[type=radio]", function(){
 
var total_price = 0;
var total_du = '';
var price_sert = 0;
//alert(price_sert);
//return false;
 
$('#mod_uc2_sertificat input[type=radio]').each(function () {
    
    if(this.checked)
    {
        var tr = $(this).parent().parent();
        var str = tr.find('td:nth-child(1)').text();
        var price = $(this).val();
        total_du += str + ' = ' + price  + ";\n";
        total_price += parseInt(price);
    }
    
});
 
 
 
total_price += parseInt(price_sert);
//alert(total_du);
//alert(total_price);
 
$("#mod_uc2_sertificat .total span").html(total_price);
$("#gg2").val(total_du);
 
});
    
    $('#ecp_egais_connect_result').click(function(){  
        $('#gg2').val($('#ecp_egais_connect_result').text()) 
  });
 
 
 
});
sendmail.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?
 
$myemail = ""; 
$refreshpage = "http://ecp.su/cena/kep-dlya-egais/";
$maxname = "50";   
$maxmsg = "500";
$maxtel = "15"; 
$maxinn = "12";
$mininn = "10";
$shapka="<html><head><META http-equiv=Content-Type content='text/html';></head><body>";
$back="<center>Вернитесь <a href='javascript:history.back(1)'><B>назад</B></a>"; 
$maxkey=4; 
if (!isset($_POST['name'])) {print"$shapka $back Вы не указали свое имя!";} else {$name=$_POST['name'];}
if (!isset($_POST['inn'])) {print"$shapka $back Вы не правильно указали ИНН!";} else {$inn=$_POST['inn'];}
if (!isset($_POST['email'])) {print"$shapka $back Вы не ввели емайл!";} else {$email=$_POST['email'];}
if ($name=="" || strlen($name)>$maxname) {print "$shapka $back Вы не ввели имя, или вввели слишком длинное имя!</B></center>"; exit;}
if ($inn=="" || strlen($inn)<$mininn) {print "$shapka $back Вы не ввели ИНН, или вввели слишком короткое ИНН!</B></center>"; exit;}
if ($inn=="" || strlen($inn)>$maxinn) {print "$shapka $back Вы не ввели ИНН, или вввели слишком длинное ИНН!</B></center>"; exit;}
if(!preg_match("/^[а-яА-Я]/", $_POST['name']) or $_POST['name']=="") {print "$shapka $back и введите корректные символы (например: вася,петя)!</B></center>"; exit;}
if(!preg_match("/^[0-9]/", $_POST['inn']) or $_POST['inn']=="") {print "$shapka $back и введите корректные символы (например: 123456789123)!</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;}
$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; \r\n";
$headers.="From: ".$name." <".$company.">\r\n";
$headers.="X-Mailer: PHP/".phpversion()."\r\n";
 
 
$allmsg="<html><head><meta http-equiv='Content-Type' content='text/html; '>
<style>BODY {FONT-FAMILY: verdana,arial,helvetica; FONT-SIZE: 13px;} TD {FONT-SIZE: 12px;}</style></head>
 
</table><center><BR>Ваше сообщение<B><font color='#233C3B'>успешно отправлено</font></B><BR><BR>
<a href='$refreshpage'><font color='#FF9900'>Вернуться <B><font color='#233C3B'>назад</B></font></a>";
$printmsg="$allmsg </body></html>";
$allmsg.="<BR><BR><BR>* Это сообщение сгенерировано и отправлено роботом с формы обратной связи. Отвечать на него не нужно.</body></html>";
 
$to = "romashishka.ae@mail.ru"; 
    $subject = "Сообщение с вашего интернет-сайта";
    $message = "ФИО:  ".$name."\n\nТелефон:  ".$telefon."\n\nE-mail:  ".$email."\n\n ИНН:  ".$inn."\n\n Итого к оплате:".$_POST['result']."\n\n Количество розничных точек:".$kol_tochek;
    mail ($to,$subject,$message) or print "Не могу отправить письмо !!!";
 
print "<script language='Javascript'>function reload() {location = \"$refreshpage\"}; setTimeout('reload()', 5000);</script>$printmsg"; 
 
 
 
?>
Ответ: Сейчас попробую)

Добавлено через 4 минуты
Так ну в общем получилось но не до конца(( Ты есть в ВК? Можешь туда написать?

Добавлено через 30 секунд
Потом ответ к тебе кину сюда.. как решим проблему
Вопрос: Обернуть все ссылки в тег <a>

Здравствуйте, выручайте, а то я уже не знаю что и думать. нужно найти в тексте из textarea все ссылки и обернуть их в тег a. Вот написал
Код PHP
1
2
3
4
5
6
7
8
9
10
function get_a($text){
    $text=htmlspecialchars($text);
            preg_match_all('/\bhttps?:\/\/[\S]+/si', $text, $match);
            if($match[0]){
                foreach($match[0] as $http){
            $text = str_replace($http, "<a target='_blank' href='$http'>$http</a>", $text);
       }
    }
   return $text;  
}
Если одна ссылка в тексте, то всё нормально, а если больше, то выходит такое вот:
<a target="_blank" href="&lt;a target=" _blank'="">https://www.youtube.com/watch?v=hhTeUrJCywQ</a>'&gt;
Как правильно сделать?
Ответ: не, а всётаки, почему мой вариант не срабатывал? Вроде ж нерусским языком сказал, пожалуйста, боги ПХП. вытащите мне все ссылки и каждую оберните в тэг.. Или я чтото недопонимаю?