Перейти к содержимому


Убрать знаки из телефонного номера вычислением


Сообщений в теме: 5

#1 All_ex74

    Активный участник

  • Пользователи
  • PipPipPip
  • 138 сообщений
  • Пол:Мужчина
  • Город:Барнаул

Отправлено 13 Июнь 2014 - 11:35

Есть вычисление, которое присваивает переменной значение, переводя телефонные номера вида (913) 096-0000 в такой 9130960000.
Переменная используется при отправке на шлюз СМС сообщения:

$phone = str_replace(array('(',')', '-',' '), '', $line['Телефон']);


но он отказывается работать. Что в данном вычислении не так?

Сообщение отредактировал All_ex74: 13 Июнь 2014 - 11:35


#2 maksn

    Активный участник

  • Пользователи
  • PipPipPip
  • 314 сообщений
  • Пол:Мужчина

Отправлено 13 Июнь 2014 - 12:15

Просмотр сообщенияAll_ex74 (13 Июнь 2014 - 11:35) писал:

Есть вычисление, которое присваивает переменной значение, переводя телефонные номера вида (913) 096-0000 в такой 9130960000.
Переменная используется при отправке на шлюз СМС сообщения:

$phone = str_replace(array('(',')', '-',' '), '', $line['Телефон']);


но он отказывается работать. Что в данном вычислении не так?

Странно, должно работать. Если Телефон - текстовое поле

Для проверки сделал у себя вычисление
$phone = str_replace(array('(',')', '-',' '), '', $line['Телефон']);
$line['Телефон'] = $phone;
Все прекрасно работает

Может быть Вы отправляете на шлюз $line['Телефон'] а не $phone?

Сообщение отредактировал maksn: 13 Июнь 2014 - 12:21

"...Сижу, паяю. CRM починяю..."
Мои разработки

#3 All_ex74

    Активный участник

  • Пользователи
  • PipPipPip
  • 138 сообщений
  • Пол:Мужчина
  • Город:Барнаул

Отправлено 13 Июнь 2014 - 12:43

Просмотр сообщенияmaksn (13 Июнь 2014 - 12:15) писал:

Может быть Вы отправляете на шлюз $line['Телефон'] а не $phone?

Ну вот и я про то же)

вот так не работает:

if ($line['Состояние'] == "Связана")
{
	    $zvka = data_table("Заявки","`status`<>'2' AND `Статус`='Исполняемая' AND `Заказчик`=".$line['ID']);   
	    $row = data_select_array(240, "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID'], " AND `f3530`='Свободна' AND `f6130`='0'");
	    $tlf = $row['f3470'];
	    if (!$zvka)
	    {
			    if (!$row)
			    {
					    data_update(240, array('f6130'=>0), "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID']);
					    $row = data_select_array(240, "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID'], " AND `f3530`='Свободна' AND `f6130`='0'");
			    }
			    $zvka['Город'] = $line['Город']['ID'];
			    $zvka['Заказчик'] = $line['ID'];
			    $zvka['Тип услуги'] = $line['Связана по услуге']['ID'];
			    $zvka['Исполнитель'] = $row['id'];
			    $zvka['ID'] = insert_query($zvka, "Заявки");
			    data_update(240, array('f6130'=>1), "id=",$row['id']);
	    }
        $phone = str_replace(array('(',')', '-',' '), '', $line['Телефон']);
	    sendsms("Вами была сформирована заявка н".$zvka['ID']." на услугу ".$line['Связана по услуге']['Полное название'].". Тел. вашего исполнителя: 8 ".$tlf.". Ожидайте ответа.", $phone, "ENU");
}


а вот так работает:

if ($line['Состояние'] == "Связана")
{
	    $zvka = data_table("Заявки","`status`<>'2' AND `Статус`='Исполняемая' AND `Заказчик`=".$line['ID']);   
	    $row = data_select_array(240, "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID'], " AND `f3530`='Свободна' AND `f6130`='0'");
	    $tlf = $row['f3470'];
	    if (!$zvka)
	    {
			    if (!$row)
			    {
					    data_update(240, array('f6130'=>0), "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID']);
					    $row = data_select_array(240, "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID'], " AND `f3530`='Свободна' AND `f6130`='0'");
			    }
			    $zvka['Город'] = $line['Город']['ID'];
			    $zvka['Заказчик'] = $line['ID'];
			    $zvka['Тип услуги'] = $line['Связана по услуге']['ID'];
			    $zvka['Исполнитель'] = $row['id'];
			    $zvka['ID'] = insert_query($zvka, "Заявки");
			    data_update(240, array('f6130'=>1), "id=",$row['id']);
	    }
	    sendsms("Вами была сформирована заявка н".$zvka['ID']." на услугу ".$line['Связана по услуге']['Полное название'].". Тел. вашего исполнителя: 8 ".$tlf.". Ожидайте ответа.", $line['Телефон'], "ENU");
}



#4 All_ex74

    Активный участник

  • Пользователи
  • PipPipPip
  • 138 сообщений
  • Пол:Мужчина
  • Город:Барнаул

Отправлено 14 Июнь 2014 - 06:21

все так и кинулись помочь, наверное гуманитарку беженцам собирают) администраторы, ау...
повторюсь...

Почему не проходит запрос, несущий в теле переменную с присвоенным значением? Вот так не отсылает:

$phone = str_replace(array('(',')', '-',' '), '', $line['Телефон']); // элементарный код, убирающий скобки, пробел и дефис не работает, пробовал и такой $phone = preg_replace("/\D+/", "", $line['Телефон']); Хрен редьки не слаще
sendsms("Вами была сформирована заявка н".$zvka['ID']." на услугу ".$line['Связана по услуге']['Полное название'].". Тел. вашего исполнителя: 8 ".$tlf.". Ожидайте ответа.", $phone, "ENU"); // собственно, сам запрос...


а вот так отсылает:

sendsms("Вами была сформирована заявка н".$zvka['ID']." на услугу ".$line['Связана по услуге']['Полное название'].". Тел. вашего исполнителя: 8 ".$tlf.". Ожидайте ответа.", $line['Телефон'], "ENU"); // работает без проблемм


выше полный код... и как посмотреть, какое значение подставляется

Сообщение отредактировал All_ex74: 14 Июнь 2014 - 12:20


#5 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 14 Июнь 2014 - 14:41

Цитата

администраторы, ау

12-15 июня - праздничные дни, никто не работает вообще-то.

Цитата

и как посмотреть, какое значение подставляется

Заходите в архив рассылок СМС и смотрите там.

#6 All_ex74

    Активный участник

  • Пользователи
  • PipPipPip
  • 138 сообщений
  • Пол:Мужчина
  • Город:Барнаул

Отправлено 16 Июнь 2014 - 09:10

Просмотр сообщенияCbCoder (14 Июнь 2014 - 14:41) писал:

12-15 июня - праздничные дни, никто не работает вообще-то.
Заходите в архив рассылок СМС и смотрите там.

Вопрос решён.





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных