Данные со страницы в телеграм - Форум об интернет-маркетинге
Этот сайт существует на доходы от рекламы.
Пожалуйста, выключите AdBlock.
Вернуться   Форум об интернет-маркетинге > >
Ответ
 
Опции темы
Старый 14.07.2018, 11:36   #1
Абитуриент
 
Регистрация: 14.07.2018
Сообщений: 1
Репутация: 10

По умолчанию Данные со страницы в телеграм

Прошу помощи , подсказки для решения моей задачи.
Сделать хочу что бы не только Имя и Телефон приходило в телеграмм ,Но и выбранные позиции отправлялись тоже. то-есть данные которые меняет js в product.html .
я не нашел решение самостоятельно
В низу все коды для понимания всей картины. Спасибо


Имеется 2 файла html, index.php(весь сайт) и product.html(блоки для вывода, для js)
Строение product.html
PHP код:
<li data-selection="colors" class="builder-step first-load">
    <
section class="cd-step-content">
        <
header>
            <
h1>Select Color</h1>
            <
span class="steps-indicator">Step <b>2</bof 4</span>
        </
header>
        
        <
ul class="cd-product-previews">
            <
li class="selected"><img src="img/product01_col01.jpg" alt="Product Preview" class="product-preview"></li>
            <
li><img src="img/product01_col02.jpg" alt="Product Preview" class="product-preview"></li>
            <
li><img src="img/product01_col03.jpg" alt="Product Preview" class="product-preview"></li>
        </
ul>

        <
ul class="cd-product-customizer">
            <
li data-content="White - $0" data-price="0" class="selected"><a data-color="white" href="#0">White - $0</a></li>
            <
li data-content="Mineral Grey - $550" data-price="550"><a data-color="grey" href="#0">Mineral Grey - $550</a></li>
            <
li data-content="Orange Metallic - $550" data-price="550"><a data-color="orange" href="#0">Orange Metallic - $550</a></li>
        </
ul>
    </
section>
</
li>

<
li data-selection="accessories" class="builder-step first-load">
    <
section class="cd-step-content">
        <
header>
            <
h1>Accessories</h1>
            <
span class="steps-indicator">Step <b>3</bof 4</span>
        </
header>

        <
ul class="accessories-list options-list">
            <
li class="js-option" data-price="1080">
                <
p>BMW Charging Station</p>

                <
span class="price">$1.080</span>
                
                <
div class="check"></div>
            </
li>

            <
li class="js-option" data-price="1895">
                <
p>BMW Maintenance Program Upgrade</p>
                
                <
span class="price">$1.895</span>

                <
div class="check"></div>
            </
li>

            <
li class="js-option" data-price="975">
                <
p>1 Year BMW Maintenance Program Upgrade</p>

                <
span class="price">$975</span>
                
                <
div class="check"></div>
            </
li>
        </
ul>
    </
section>
</
li>

<
li data-selection="summary" class="builder-step first-load">
    <
section class="cd-step-content">
        <
header>
            <
h1>Summary</h1>
            <
span class="steps-indicator">Step <b>4</bof 4</span>
        </
header>
        
        <
ul class="summary-list">
            <
li>
                <
h2>Model</h2>

                <
img src="img/product01_col01.jpg" alt="Alfa Romeo Giulietta" class="product-preview">
                
                <
h3>BMW i3</h3>
                
                <
p>
                    
Lorem ipsum dolor sit ametconsectetur adipisicing elitReprehenderit saepe facilis hicundenumquam velBlanditiis sed laboriosam ratione nulla atque molestias at explicabo aperiam reprehenderit culpa nihilquis totam cupiditate dolores in quisquam magnam inventore nobisrem adipisci eveniet illum.    
                </
p>
            </
li>

            <
li data-summary="colors">
                <
h2>Color</h2>
                
                <
span class="summary-color">
                    <
em class="color-swatch" data-color="red"></em>
                    <
em class="color-label">Red Passion</em>
                </
span>
            </
li>

            <
li data-summary="accessories">
                <
h2>Accessories</h2>

                <
ul class="summary-accessories">
                    <
li>
                        <
p>Uconnect 6.5" colour touchscreen radio navigation sytem with Bluetooth &amp; DAB ($1050)</p>
                    </li>

                    <li>
                        <p>Audio &amp; telephone controls on steering wheels ($750)</p>
                    </li>
                </ul>
            </li>
        </ul>
    </section>
</li> 
Имеется JS отвечающий за выборы и в конце изменениеи product.html где показывает общий выбор.
Строение js кусок отвечающий за замену product.html
PHP код:
    ProductBuilder.prototype.createSummary = function b() {
        var 
self this;
        
this.steps.each(function(){
            
//this function may need to be updated according to your builder steps and summary
            
var step = $(this);
            if( $(
this).data('selection') == 'colors' ) {
                
//create the Color summary
                
var colorSelected = $(this).find('.cd-product-customizer').find('.selected'),
                    
color colorSelected.children('a').data('color'),
                    
colorName colorSelected.data('content'),
                    
imageSelected = $(this).find('.cd-product-previews').find('.selected img').attr('src');
                
                
self.summary.find('.summary-color').find('.color-label').text(colorName).siblings('.color-swatch').attr('data-color'color);
                
self.summary.find('.product-preview').attr('src'imageSelected);
            } else if( $(
this).data('selection') == 'accessories' ) {
                var 
selectedOptions = $(this).find('.js-option.selected'),
                    
optionsContent '';

                if( 
selectedOptions.length == ) {
                    
optionsContent '<li><p>No Accessories selected;</p></li>';
                } else {
                    
selectedOptions.each(function(){
                        
optionsContent +='<li><p>'+$(this).find('p').text()+'</p></li>';
                    });
                }

                
self.summary.find('.summary-accessories').children('li').remove().end().append($(optionsContent));
            }


        }); 
Так же стоит кнопка обратной связи для приема заказа в телеграм
PHP код:
<?php
if ($_SERVER***91;"REQUEST_METHOD"***93; == "POST") {
if (!empty(
$_POST***91;'name'***93;) && !empty($_POST***91;'phone'***93;)){
  if (isset(
$_POST***91;'name'***93;)) {
    if (!empty(
$_POST***91;'name'***93;)){
  
$name strip_tags($_POST***91;'name'***93;);
  
$nameFieldset "Имя пославшего:";
  }
}
if (isset(
$_POST***91;'phone'***93;)) {
  if (!empty(
$_POST***91;'phone'***93;)){
  
$phone strip_tags($_POST***91;'phone'***93;);
  
$phoneFieldset "Телефон: ";
  }
}
if (isset(
$_POST***91;'theme'***93;)) {
  if (!empty(
$_POST***91;'theme'***93;)){
  
$theme strip_tags($_POST***91;'theme'***93;);
  
$themeFieldset "тема: ";
  }
}

$token "";
$chat_id "-1";
$tokenvk "";
$vk_id "";
$arr = array(
  
$nameFieldset => $name,
  
$phoneFieldset => $phone,
  
$themeFieldset => $theme,
);
foreach(
$arr as $key => $value) {
  
$txt .= "<b>".$key."</b> ".$value."%0A";
};

$sendToTelegram fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}","r");
if (
$sendToTelegram) {
 
  echo 
'<p class="success">Спасибо за отправку вашего сообщения!</p>';
    return 
true;
} else {
  echo 
'<p class="fail"><b>Ошибка. Сообщение не отправлено!</b></p>';
}
} else {
  echo 
'<p class="fail">Ошибка. Вы заполнили не все обязательные поля!</p>';
}
} else {
header ("Location: /");
}
/*** PHP CODE ***/
/****************/
$prxy       'https://217.61.108.24:80'// адрес:порт прокси
$prxy_auth 'auth_user:auth_pass';       // логин:пароль для аутентификации
/****************/
$ch  curl_init();
curl_setopt_array ($ch, array(CURLOPT_URL => $sendToTelegramCURLOPT_RETURNTRANSFER => true)); 
/********************* Код для подключения к прокси *********************/
    
curl_setopt($chCURLOPT_PROXYTYPECURLPROXY_SOCKS5);  // тип прокси 
    
curl_setopt($chCURLOPT_PROXY,  $prxy);                 // ip, port прокси
    
curl_setopt($chCURLOPT_PROXYUSERPWD$prxy_auth);  // авторизация на прокси
    
curl_setopt($chCURLOPT_HEADERfalse);                // отключение передачи заголовков в запросе 
    
curl_setopt($chCURLOPT_RETURNTRANSFER1);            // возврат результата в качестве строки
    
curl_setopt($chCURLOPT_POST1);                      // использование простого HTTP POST
    
curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);        // отмена проверки сертификата удаленным сервером
/***********************************************************************/
$result curl_exec($ch);  // DIGITAL RESISTANCE!
curl_close($ch);
?>
iyul вне форума   Ответить с цитированием

Реклама
Старый 15.07.2018, 07:22   #2
webiumpro
Разработка на заказ
 
Аватар для webiumpro
 
Регистрация: 20.03.2017
Адрес: Санкт-Петербург
Сообщений: 128
Репутация: 19735
Отправить сообщение для webiumpro с помощью Skype™
Социальные сети Профиль в ВКонтакте

По умолчанию Re: Данные со страницы в телеграм

Добавьте в форму скрытое поле, а в js-файле, который меняет product.html, добавьте метод добавления нужных вам позиций в это скрытое поле. В php вам останется просто к имени и телефону добавить еще значение из этого поля
webiumpro вне форума   Ответить с цитированием
Ответ




Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Текущее время: 11:06. Часовой пояс GMT +3.

Регистрация Справка Календарь Поддержка Все разделы прочитаны